How can I recursively go to every folders and execute shell script with the same name? - bash

I have this directory.
.
├── animation
│   ├── animation-events
│   │   ├── app.js
│   │   ├── app.mustache.json
│   │   ├── create_view.sh
│   │   └── assets
│   │   └── dummy_character_sprite.png
│   └── change-frame
│   ├── app.js
│   ├── app.mustache.json
│      ├── create_view.sh
│   └── assets
│   └── dummy_character_sprite.png
├── app.css
├── app.mustache
├── bunch_of_functions.js
├── decorators.js
├── create_all_views.sh
└── displaying-a-static-image
├── app.js
├── app.mustache.json
├── create_view.sh
└── assets
└── piplup.png
I want for create_all_views.sh to execute all create_view.sh in the children directory. How can I achieve such thing?

As you are in Ubuntu, you have the GNU implementation of find,
which has the -execdir option,
and you can do like this:
find path/to/dir -name create_view.sh -execdir ./create_view.sh \;
That is,
for each create_view.sh file it finds in the directory tree,
it will execute ./create_view.sh in the directory of that file.

Related

Apache Atlas: curl: (7) Failed to connect to localhost port 21000: Connection refused

I'm trying to run apache atlas on my local. There are several problem I have faced to.
First, for clearance of how I have build the apache atlas I will describe the steps:
git clone https://github.com/apache/atlas
cd atlas
mvn clean install -DskipTests -X
mvn clean package -Pdist -DskipTests
It has been built without any error. Here is the project structure:
.
├── 3party-licenses
│   ├── Antlr-LICENSE
│   ├── Respond-LICENSE
│   ├── animate-LICENSE
│   ├── backgrid-columnmanager-LICENSE
│   ├── bootstrap-daterangepicker-LICENSE
│   ├── bootstrap-sidebar-LICENSE
│   ├── es5-shim-LICENSE
│   ├── google-fonts-LICENSE
│   ├── handlebars-LICENSE
│   ├── hbs-LICENSE
│   ├── jQuery-QueryBuilder-LICENSE
│   ├── jQuery-ui-LICENSE
│   ├── janusgraph-LICENSE
│   ├── jquery-placeholder-LICENSE
│   ├── mock-LICENSE
│   ├── normalize.css-LICENSE
│   ├── platform-LICENSE
│   ├── pnotify-LICENSE
│   ├── require-handlebars-plugin-LICENSE
│   ├── swagger-ui-LECENSE
│   └── titan-LICENSE
├── DISCLAIMER.txt
├── LICENSE
├── NOTICE
├── README.txt
├── addons
│   ├── falcon-bridge
│   │   ├── pom.xml
│   │   ├── src
│   │   └── target
│   ├── falcon-bridge-shim
│   │   ├── pom.xml
│   │   ├── src
│   │   └── target
│   ├── hbase-bridge
│   │   ├── pom.xml
│   │   ├── src
│   │   └── target
│   ├── hbase-bridge-shim
│   │   ├── pom.xml
│   │   ├── src
│   │   └── target
│   ├── hbase-testing-util
│   │   ├── pom.xml
│   │   ├── src
│   │   └── target
│   ├── hdfs-model
│   │   ├── pom.xml
│   │   └── target
│   ├── hive-bridge
│   │   ├── pom.xml
│   │   ├── src
│   │   └── target
│   ├── hive-bridge-shim
│   │   ├── pom.xml
│   │   ├── src
│   │   └── target
│   ├── impala-bridge
│   │   ├── pom.xml
│   │   ├── src
│   │   └── target
│   ├── impala-bridge-shim
│   │   ├── pom.xml
│   │   ├── src
│   │   └── target
│   ├── impala-hook-api
│   │   ├── pom.xml
│   │   ├── src
│   │   └── target
│   ├── kafka-bridge
│   │   ├── pom.xml
│   │   ├── src
│   │   └── target
│   ├── models
│   │   ├── 0000-Area0
│   │   ├── 1000-Hadoop
│   │   ├── 2000-RDBMS
│   │   ├── 3000-Cloud
│   │   └── 4000-MachineLearning
│   ├── sqoop-bridge
│   │   ├── pom.xml
│   │   ├── src
│   │   └── target
│   ├── sqoop-bridge-shim
│   │   ├── pom.xml
│   │   ├── src
│   │   └── target
│   ├── storm-bridge
│   │   ├── pom.xml
│   │   ├── src
│   │   └── target
│   └── storm-bridge-shim
│   ├── pom.xml
│   ├── src
│   └── target
├── atlas-examples
│   ├── pom.xml
│   ├── sample-app
│   │   ├── README.md
│   │   ├── pom.xml
│   │   ├── src
│   │   └── target
│   └── target
│   ├── maven-shared-archive-resources
│   └── rat.txt
├── authorization
│   ├── pom.xml
│   ├── src
│   │   ├── main
│   │   └── test
│   └── target
│   ├── atlas-authorization-3.0.0-SNAPSHOT.jar
│   ├── classes
│   ├── generated-sources
│   ├── generated-test-sources
│   ├── maven-archiver
│   ├── maven-shared-archive-resources
│   ├── maven-status
│   ├── rat.txt
│   └── test-classes
├── build-tools
│   ├── pom.xml
│   ├── src
│   │   └── main
│   └── target
│   ├── atlas-buildtools-1.0.jar
│   ├── classes
│   └── maven-archiver
├── client
│   ├── client-v1
│   │   ├── pom.xml
│   │   ├── src
│   │   └── target
│   ├── client-v2
│   │   ├── pom.xml
│   │   ├── src
│   │   └── target
│   ├── common
│   │   ├── pom.xml
│   │   ├── src
│   │   └── target
│   ├── pom.xml
│   ├── src
│   │   └── main
│   └── target
│   ├── maven-shared-archive-resources
│   └── rat.txt
├── common
│   ├── pom.xml
│   ├── src
│   │   ├── main
│   │   └── test
│   └── target
│   ├── atlas-common-3.0.0-SNAPSHOT-tests.jar
│   ├── atlas-common-3.0.0-SNAPSHOT.jar
│   ├── classes
│   ├── generated-sources
│   ├── generated-test-sources
│   ├── maven-archiver
│   ├── maven-shared-archive-resources
│   ├── maven-status
│   ├── rat.txt
│   └── test-classes
├── dashboardv2
│   ├── gruntfile.js
│   ├── package-lock.json
│   ├── package.json
│   ├── pom.xml
│   ├── public
│   │   ├── css
│   │   ├── ieerror.html
│   │   ├── img
│   │   ├── index.html.tpl
│   │   ├── js
│   │   └── migration-status.html.tpl
│   └── target
│   ├── atlas-dashboardv2-3.0.0-SNAPSHOT
│   ├── atlas-dashboardv2-3.0.0-SNAPSHOT.war
│   ├── classes
│   ├── dist
│   ├── gruntfile.js
│   ├── maven-archiver
│   ├── maven-shared-archive-resources
│   ├── node
│   ├── node_modules
│   ├── package-lock.json
│   ├── package.json
│   ├── rat.txt
│   └── test-classes
├── dashboardv3
│   ├── gruntfile.js
│   ├── package-lock.json
│   ├── package.json
│   ├── pom.xml
│   ├── public
│   │   ├── css
│   │   ├── ieerror.html
│   │   ├── img
│   │   ├── index.html.tpl
│   │   └── js
│   └── target
│   ├── atlas-dashboardv3-3.0.0-SNAPSHOT
│   ├── atlas-dashboardv3-3.0.0-SNAPSHOT.war
│   ├── classes
│   ├── dist
│   ├── gruntfile.js
│   ├── maven-archiver
│   ├── maven-shared-archive-resources
│   ├── node
│   ├── node_modules
│   ├── package-lock.json
│   ├── package.json
│   ├── rat.txt
│   └── test-classes
├── dev-support
│   ├── atlas-docker
│   │   ├── Dockerfile
│   │   ├── Dockerfile.atlas
│   │   ├── Dockerfile.atlas-base
│   │   ├── Dockerfile.atlas-build
│   │   ├── README.md
│   │   ├── data
│   │   ├── dist
│   │   ├── docker-compose.atlas-base.yml
│   │   ├── docker-compose.atlas-build.yml
│   │   ├── docker-compose.atlas.yml
│   │   ├── patches
│   │   └── scripts
│   ├── atlas-scripts
│   │   ├── README.txt
│   │   ├── admin_status.sh
│   │   ├── classificationdef_get.sh
│   │   ├── entity_classification_bulk.sh
│   │   ├── entity_classifications_add.sh
│   │   ├── entity_classifications_delete.sh
│   │   ├── entity_classifications_update.sh
│   │   ├── entity_create.sh
│   │   ├── entity_delete_by_guid.sh
│   │   ├── entity_get_by_guid.sh
│   │   ├── entity_get_by_type_and_unique_attr.sh
│   │   ├── entity_update.sh
│   │   ├── entity_update_by_type_and_unique_attr.sh
│   │   ├── entitydef_get.sh
│   │   ├── enumdef_get.sh
│   │   ├── env_atlas.sh
│   │   ├── export_entity_by_guid.sh
│   │   ├── export_entity_by_type_and_attr.sh
│   │   ├── import_zip.sh
│   │   ├── sample-data
│   │   ├── search_basic.sh
│   │   ├── search_basic_with_attribute_filters.sh
│   │   ├── search_dsl.sh
│   │   ├── structdef_get.sh
│   │   ├── typedefs_create.sh
│   │   ├── typedefs_delete.sh
│   │   ├── typedefs_get.sh
│   │   └── typedefs_update.sh
│   ├── findbugsIncludeFile.xml
│   ├── smart-apply-patch.sh
│   └── test-patch.sh
├── distro
│   ├── pom.xml
│   ├── src
│   │   ├── bin
│   │   ├── conf
│   │   ├── data
│   │   ├── logs
│   │   ├── main
│   │   ├── server
│   │   └── test
│   └── target
│   ├── META-INF
│   ├── apache-atlas-3.0.0-SNAPSHOT-atlas-index-repair.zip
│   ├── apache-atlas-3.0.0-SNAPSHOT-bin.tar.gz
│   ├── apache-atlas-3.0.0-SNAPSHOT-classification-updater.zip
│   ├── apache-atlas-3.0.0-SNAPSHOT-falcon-hook.tar.gz
│   ├── apache-atlas-3.0.0-SNAPSHOT-hbase-hook.tar.gz
│   ├── apache-atlas-3.0.0-SNAPSHOT-hive-hook.tar.gz
│   ├── apache-atlas-3.0.0-SNAPSHOT-impala-hook.tar.gz
│   ├── apache-atlas-3.0.0-SNAPSHOT-kafka-hook.tar.gz
│   ├── apache-atlas-3.0.0-SNAPSHOT-server.tar.gz
│   ├── apache-atlas-3.0.0-SNAPSHOT-sources.tar.gz
│   ├── apache-atlas-3.0.0-SNAPSHOT-sqoop-hook.tar.gz
│   ├── apache-atlas-3.0.0-SNAPSHOT-storm-hook.tar.gz
│   ├── archive-tmp
│   ├── atlas-distro-3.0.0-SNAPSHOT.jar
│   ├── bin
│   ├── conf
│   ├── data
│   ├── logs
│   ├── maven-archiver
│   ├── maven-shared-archive-resources
│   ├── rat.txt
│   ├── server
│   └── test-classes
├── docs
│   ├── docz-lib
│   │   ├── config
│   │   ├── docz
│   │   └── docz-core
│   ├── doczrc.js
│   ├── package.json
│   ├── pom.xml
│   ├── src
│   │   ├── documents
│   │   └── resources
│   ├── target
│   │   ├── atlas-docs-3.0.0-SNAPSHOT.jar
│   │   ├── classes
│   │   ├── docz-lib
│   │   ├── doczrc.js
│   │   ├── maven-archiver
│   │   ├── maven-shared-archive-resources
│   │   ├── package.json
│   │   ├── pom.xml
│   │   ├── rat.txt
│   │   ├── src
│   │   ├── test-classes
│   │   └── theme
│   └── theme
│   ├── components
│   ├── config.js
│   ├── index.js
│   ├── styles
│   └── utils
├── graphdb
│   ├── api
│   │   ├── pom.xml
│   │   ├── src
│   │   └── target
│   ├── common
│   │   ├── pom.xml
│   │   ├── src
│   │   └── target
│   ├── graphdb-impls
│   │   ├── pom.xml
│   │   └── target
│   ├── janus
│   │   ├── pom.xml
│   │   ├── readme.txt
│   │   ├── src
│   │   └── target
│   ├── janus-hbase2
│   │   ├── pom.xml
│   │   ├── src
│   │   └── target
│   ├── pom.xml
│   ├── readme.txt
│   └── target
│   ├── maven-shared-archive-resources
│   └── rat.txt
├── intg
│   ├── pom.xml
│   ├── src
│   │   ├── main
│   │   └── test
│   └── target
│   ├── atlas-intg-3.0.0-SNAPSHOT-tests.jar
│   ├── atlas-intg-3.0.0-SNAPSHOT.jar
│   ├── classes
│   ├── generated-sources
│   ├── generated-test-sources
│   ├── maven-archiver
│   ├── maven-shared-archive-resources
│   ├── maven-status
│   ├── rat.txt
│   └── test-classes
├── notification
│   ├── pom.xml
│   ├── src
│   │   ├── main
│   │   └── test
│   └── target
│   ├── atlas-notification-3.0.0-SNAPSHOT.jar
│   ├── classes
│   ├── dependency
│   ├── generated-sources
│   ├── generated-test-sources
│   ├── maven-archiver
│   ├── maven-shared-archive-resources
│   ├── maven-status
│   ├── rat.txt
│   └── test-classes
├── plugin-classloader
│   ├── pom.xml
│   ├── src
│   │   ├── main
│   │   └── test
│   └── target
│   ├── atlas-plugin-classloader-3.0.0-SNAPSHOT.jar
│   ├── classes
│   ├── generated-sources
│   ├── generated-test-sources
│   ├── maven-archiver
│   ├── maven-shared-archive-resources
│   ├── maven-status
│   ├── rat.txt
│   └── test-classes
├── pom.xml
├── release-build.xml
├── release-log.txt
├── repository
│   ├── pom.xml
│   ├── src
│   │   ├── main
│   │   └── test
│   └── target
│   ├── atlas-repository-3.0.0-SNAPSHOT-tests.jar
│   ├── atlas-repository-3.0.0-SNAPSHOT.jar
│   ├── classes
│   ├── generated-sources
│   ├── generated-test-sources
│   ├── maven-archiver
│   ├── maven-shared-archive-resources
│   ├── maven-status
│   ├── rat.txt
│   ├── solr
│   └── test-classes
├── server-api
│   ├── pom.xml
│   ├── src
│   │   └── main
│   └── target
│   ├── atlas-server-api-3.0.0-SNAPSHOT.jar
│   ├── classes
│   ├── generated-sources
│   ├── maven-archiver
│   ├── maven-shared-archive-resources
│   ├── maven-status
│   ├── rat.txt
│   └── test-classes
├── target
│   ├── maven-shared-archive-resources
│   │   └── META-INF
│   └── rat.txt
├── test-tools
│   ├── pom.xml
│   ├── src
│   │   └── main
│   └── target
│   ├── atlas-testtools-3.0.0-SNAPSHOT.jar
│   ├── classes
│   ├── generated-sources
│   ├── maven-archiver
│   ├── maven-shared-archive-resources
│   ├── maven-status
│   ├── rat.txt
│   └── test-classes
├── tools
│   ├── atlas-index-repair
│   │   ├── README
│   │   ├── pom.xml
│   │   ├── src
│   │   └── target
│   ├── atlas-migration-exporter
│   │   ├── README
│   │   ├── atlas-log4j.xml
│   │   └── atlas_migration_export.py
│   └── classification-updater
│   ├── pom.xml
│   ├── src
│   └── target
└── webapp
├── pom.xml
├── src
│   ├── main
│   └── test
└── target
├── api
├── atlas-webapp-3.0.0-SNAPSHOT
├── atlas-webapp-3.0.0-SNAPSHOT-classes.jar
├── atlas-webapp-3.0.0-SNAPSHOT.war
├── atlas.keystore
├── classes
├── enunciate
├── generated-sources
├── generated-test-sources
├── maven-archiver
├── maven-shared-archive-resources
├── maven-status
├── models
├── rat.txt
├── solr
├── test-classes
└── war
Whenever I want to run atlas_start.py file, I faced to following logs:
/bigdata/atlas/distro/src/conf/atlas-env.sh: line 59: MANAGE_LOCAL_HBASE=${hbase.embedded}: bad substitution
/bigdata/atlas/distro/src/conf/atlas-env.sh: line 62: MANAGE_LOCAL_SOLR=${solr.embedded}: bad substitution
/bigdata/atlas/distro/src/conf/atlas-env.sh: line 65: MANAGE_EMBEDDED_CASSANDRA=${cassandra.embedded}: bad substitution
/bigdata/atlas/distro/src/conf/atlas-env.sh: line 68: MANAGE_LOCAL_ELASTICSEARCH=${elasticsearch.managed}: bad substitution
java.io.FileNotFoundException: /bigdata/atlas/distro/src/server/webapp/atlas.war (No such file or directory)
at java.base/java.io.FileInputStream.open0(Native Method)
at java.base/java.io.FileInputStream.open(FileInputStream.java:219)
at java.base/java.io.FileInputStream.<init>(FileInputStream.java:157)
at java.base/java.io.FileInputStream.<init>(FileInputStream.java:112)
at jdk.jartool/sun.tools.jar.Main.run(Main.java:407)
at jdk.jartool/sun.tools.jar.Main.main(Main.java:1681)
The Server is no longer running with pid 29164
starting atlas on host localhost
starting atlas on port 21000
..............................................................................................................................................................................................................................................................................................................
Apache Atlas Server started!!!
here is the curl:
curl -u username:password http://localhost:21000/api/atlas/v2/types/typedefs/headers
error:
curl: (7) Failed to connect to localhost port 21000: Connection refused
After struggling with Apache Atlas for a while, I found 3.0.0 Snapshot version very buggy! Therefore I have decided to build and install Apache Atlas 2.1.0 RC3.
Prerequisite:
Make sure you have installed java on your machine. In case it is not installed on your computer, you can install it using the following command in Linux:
sudo apt-get install openjdk-8-jre
Then JAVA_HOME should be set:
export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
Building:
Download Apache Atlas 2.1.0-rc3:
wget https://github.com/apache/atlas/archive/refs/tags/release-2.1.0-rc3.tar.gz
Unpack it:
 tar -xzvf release-2.1.0-rc3.tar.gz
Set environment variables:
export MANAGE_LOCAL_HBASE=true
export MANAGE_LOCAL_SOLR=true
Execute:
mvn clean -DskipTests install
mvn clean -DskipTests package -Pdist,embedded-hbase-solr
Change the directory to distro/target and unpack the server tar file:
cd distro/target
tar -xzvf apache-atlas-2.1.0-server.tar.gz
Change the directory to apache-atlas-2.1.0-server and run execute atlas_start.py script:
cd apache-atlas-2.1.0-server
bin/atlas_start.py
Important Tip 1: In official documentation it is said to change directory to apache-atlas-2.1.0, not apache-atlas-2.1.0-server. I have tried it but it doesn't work.
Important Tip 2: The following log doesn't mean that Apache Atlas is currently running!
configured for local hbase.
hbase started.
configured for local solr.
solr started.
setting up solr collections…
starting atlas on host localhost
starting atlas on port 21000
Apache Atlas Server started!!
To ensure that it is working properly or not, check the application.log in logs directory. If everything would be OK, it takes about 10 minutes to run without any error.
Brief screenshot of logs/application.log:
**Check the function:**
> curl -u admin:admin http://localhost:21000/api/atlas/admin/version
{"Description":"Metadata Management and Data Governance Platform over Hadoop","Revision":"release","Version":"2.1.0","Name":"apache-atlas"}%
or
http://localhost:21000 should look-like the following picture:
I want to thank Mark Chesnavsky helping me to resolve this issue. If you have any other issue you can check his post.

How do I split up the settings.kts file for TeamCity's Kotlin Configuration?

I have a TeamCity settings.kts file where it consists of the Root Project and hence all subsequent sub project. Currently, it's one big massive file and I am trying to split up the KTS file based on projects.
What's the best practice to split up the settings file? Should I do a file per project and how do I reference them from the main settings file?
TeamCity generates a singe settings.kts file only for small projects.
You can try and play with some big project, download settings in Kotlin format for it.
E.g., here is how generated by TeamCity big project settings look like:
nadias-mbp:projectSettings 2 nburnasheva$ tree
.
├── README
├── ServiceMessages
│   ├── Project.kt
│   └── buildTypes
│   ├── ServiceMessagesChangeBuildStatus.kt
│   ├── ServiceMessages_BuildProgressServiceMessage.kt
│   ├── ServiceMessages_ErrorParsingServiceMessage.kt
│   ├── ServiceMessages_FailBuild.kt
│   └── ServiceMessages_ReportBuildParameterDoNotReport.kt
├── ServiceMessages_ReportBuildParametersChar
│   ├── Project.kt
│   └── buildTypes
│   ├── ServiceMessages_ReportBuildParametersChar_ReportBuildParameter.kt
│   ├── ServiceMessages_ReportBuildParametersChar_ReportBuildParameterWaitReasonWithTooLongValue.kt
│   └── ServiceMessages_ReportBuildParametersChar_ThreadSleep.kt
├── ServiceMessages_ReportBuildParametersChartCopy
│   ├── Project.kt
│   └── buildTypes
│   └── ServiceMessages_ReportBuildParametersChartCopy_ReportBuildPara.kt
├── _Self
│   ├── Project.kt
│   ├── buildTypes
│   │   ├── AnsiParseAnsiColorLoggerOutput.kt
│   │   ├── BuildStepsAutodetection.kt
│   │   ├── CheckPromptParameter.kt
│   │   ├── EchoBuildIdToFile.kt
│   │   ├── EchoParametersToConsole.kt
│   │   ├── EchoUmlaut.kt
│   │   ├── FailBuildOnTextInTheLogs.kt
│   │   ├── MpsQuottingTest.kt
│   │   ├── RunGitCommand.kt
│   │   ├── RunMavenFromCommandLine.kt
│   │   ├── SetPasswordParameterInServiceMessages.kt
│   │   ├── SimpleWindowsEcho.kt
│   │   ├── SparseFile.kt
│   │   └── StderrRunAsOnMacOS.kt
│   └── vcsRoots
│   ├── HttpsGithubComBanadigaPhotoBackupGitRefsHeadsMaster.kt
│   └── HttpsGithubComBurnashevaCommandLineRunnerGitRefsHeadsMaster.kt
├── pom.xml
└── settings.kts
9 directories, 32 files
And here is the content of settings.kts:
import jetbrains.buildServer.configs.kotlin.v2018_2.*
version = "2019.1"
project(_Self.Project)

Gradle scripting: copy content of child folders and additional folder to new locations

I have the following folder structure (there is an arbitrary number of child folder and the names are not known). I only have the path to the parent folder available.
Parent
| Child_folder_0
| Child_folder_N
as well as a separate folder called contentFolder
I am trying to copy the each child folder (and it's content) into a different location as well as copy the content of contentFolder into each child folder's new location.
Thanks!
The following code:
def parentFolder = 'Parent'
def contentFolder = 'contentFolder'
def destDir = 'destDir'
task copyChildFilesFromParent(type: Copy) {
from(parentFolder) {
include '**/*'
}
into destDir
}
task copyContentFilesIntoChildren() {
(parentFolder as File).eachDir { childDir ->
copy {
from(contentFolder) {
include '**/*'
}
into "$destDir/${childDir.name}"
}
}
}
task copyFiles(dependsOn: ['copyChildFilesFromParent', 'copyContentFilesIntoChildren'])
Will transform the following directory structure:
├── build.gradle
├── contentFolder
│   ├── content.txt
│   └── data.dat
└── Parent
├── Child_folder_0
│   ├── 0.dat
│   └── data.0
├── Child_folder_1
│   ├── 1.dat
│   └── data.1
├── Child_folder_2
│   ├── 2.dat
│   └── data.2
└── Child_folder_N
├── data.N
└── N.dat
into
├── destDir
│   ├── Child_folder_0
│   │   ├── 0.dat
│   │   ├── content.txt
│   │   ├── data.0
│   │   └── data.dat
│   ├── Child_folder_1
│   │   ├── 1.dat
│   │   ├── content.txt
│   │   ├── data.1
│   │   └── data.dat
│   ├── Child_folder_2
│   │   ├── 2.dat
│   │   ├── content.txt
│   │   ├── data.2
│   │   └── data.dat
│   └── Child_folder_N
│   ├── content.txt
│   ├── data.dat
│   ├── data.N
│   └── N.dat

concatenate all imports into one scss file

I'm currently working on a SASS library which is a long list of partials imported into 1 file.
The file structure is as following:
css-directory
├── functions
│   ├── _px2em.scss
│   └── _unitless.scss
├── helpers
│   ├── _align.scss
│   ├── _clearfix.scss
│   ├── _float.scss
│   ├── _hidden.scss
│   ├── _invisible.scss
│   ├── _ir.scss
│   └── _visuallyhidden.scss
├── layout
│   ├── _blockquote.scss
│   ├── _button.scss
│   ├── _fixed-footer.scss
│   ├── _form.scss
│   ├── _list.scss
│   ├── _loading.scss
│   ├── _triangle.scss
│   └── _truncate.scss
├── modules
│   ├── _grid.scss
│   └── _normalize.scss
├── prefixes
│   ├── _animation-delay.scss
│   ├── _animation.scss
│   ├── _background-clip.scss
│   ├── _borderbox.scss
│   ├── _border-radius.scss
│   ├── _box-shadow.scss
│   ├── _box-sizing.scss
│   ├── _flex.scss
│   ├── _font-face.scss
│   ├── _gradient.scss
│   ├── _hyphens.scss
│   ├── _keyframes.scss
│   ├── _transform-origin.scss
│   ├── _transform.scss
│   ├── _transition.scss
│   └── _user-select.scss
└── _verepo.scss
and the _verepo.scss file imports all the other partials.
I'd like to be able to concatenate _verepo.scss and it's partials into 1 .scss file so that I can then distribute it easily.
Found a solution, by using grunt and grunt-contrib-concat.
Fixed it with the following code block inside of grunt's initConfig:
concat: {
options: {
banner: '/*! veRepo.scss v%VERSION% | MIT License | https://github.com/varemenos/verepo */\n\n'
},
dist: {
src: [
'src/functions/_**.scss',
'src/prefixes/_**.scss',
'src/helpers/_**.scss',
'src/layout/_**.scss',
'src/modules/_**.scss',
],
dest: '_verepo.scss'
}
}

Using Brunch.io together with Apache Maven in order to build a java webapp

I am trying to use Brunch.io in order to simplify my javascript life.
My app is a java web archive (.war) and I use Maven as a build tool.
I am planning to have a ./brunch directory at the same level as the ./src directory (see tree output below).
Before I switch to brunch, I have a few questions:
Can I specify public: '../src/main/webapp' as a path in config.coffee and safely use brunch without fear that it will delete content from src/main/webapp?
Can I leave my Thymeleaf templates in WEB-INF/web-templates?
Is there any other points to take into account?
Thanks in advance for your input.
Here is the output from the tree command:
./src/main/webapp/
├── fonts
│   ├── glyphicons-halflings-regular.eot
│   ├── glyphicons-halflings-regular.svg
│   ├── glyphicons-halflings-regular.ttf
│   └── glyphicons-halflings-regular.woff
├── js
│   ├── custom
│   │   ├── addressAutocomplete.js
│   │   ├── languageChooser.js
│   │   ├── messages.js
│   │   ├── postcodeChooser.js
│   │   ├── resendActivationEmail.js
│   │   ├── signup.js
│   │   ├── trainings.js
│   │   └── workExperiences.js
│   ├── libs
│   │   ├── angular.js
│   │   ├── bootstrap.js
│   │   ├── bootstrap.min.js
│   │   ├── jquery-1.10.2.js
│   │   └── jquery-ui-1.9.0.custom.js
│   └── plugins
│   ├── chosen.jquery.js
│   ├── chosen.jquery.min.js
│   ├── component.json
│   ├── jquery.maskedinput-1.3.js
│   ├── jquery.maskedinput-1.3.min.js
│   ├── select2.jquery.json
│   ├── select2.js
│   └── select2_locale_fr.js
├── media
│   ├── checked.png
│   ├── favicon.png
│   └── nav-active-arrow.png
├── styles
│   ├── bootstrap.css
│   ├── bootstrap.min.css
│   ├── bootstrap-theme.css
│   ├── bootstrap-theme.min.css
│   ├── chosen.css
│   ├── chosen-sprite.png
│   ├── select2.css
│   ├── select2-custom.css
│   ├── select2.png
│   ├── select2-spinner.gif
│   ├── select2x2.png
│   ├── signin.css
│   ├── sticky-footer-navbar.css
│   └── style.css
└── WEB-INF
├── spring
│   └── webmvc-config.xml
├── tiles-defs.xml
├── web-templates
│   ├── advertisement
│   │   ├── childminder
│   │   │   ├── edit.html
│   │   │   ├── edit.html.old
│   │   │   └── new.html
│   │   ├── family
│   │   │   ├── edit.html
│   │   │   └── new.html
│   │   └── views.xml
│   ├── common
│   │   ├── footer.html
│   │   ├── header.html
│   │   └── layout.html
│   ├── conditions
│   │   ├── cgv.html
│   │   └── views.xml
│   ├── curriculum
│   │   ├── edit.html
│   │   ├── main.html
│   │   ├── new.html
│   │   ├── trainings.html
│   │   ├── views.xml
│   │   └── work-experiences.html
│   ├── errors
│   │   ├── 403.html
│   │   ├── 404.html
│   │   ├── error.html
│   │   └── views.xml
│   ├── messages
│   │   ├── body.html
│   │   ├── messages.html
│   │   └── views.xml
│   ├── passwordReset
│   │   ├── passwordReset.html
│   │   ├── resetPassword.html
│   │   ├── sendPasswordResetInfo.html
│   │   └── views.xml
│   ├── preference
│   │   ├── address.html
│   │   ├── email.html
│   │   ├── password.html
│   │   ├── preferenceMenu.html
│   │   └── views.xml
│   ├── search
│   │   ├── advertisement.html
│   │   ├── body.html
│   │   ├── childminderAdvertisementSearchForm.html
│   │   ├── childminderAdvertisementSearchResults.html
│   │   ├── familyAdvertisementSearchForm.html
│   │   ├── familyAdvertisementSearchResults.html
│   │   ├── view.html
│   │   └── views.xml
│   ├── signin
│   │   ├── signin.html
│   │   ├── standardSignin.html
│   │   └── views.xml
│   └── signup
│   ├── signup.html
│   ├── standardSignup.html
│   └── views.xml
└── web.xml
23 directories, 92 files
Can I specify public: '../src/main/webapp' as a path in config.coffee and safely use brunch without fear that it will delete content from src/main/webapp?
yes
Can I leave my Thymeleaf templates in WEB-INF/web-templates?
yes
Is there any other points to take into account?
I would suggest making "webapp" 100% auto-generated so that you could delete it freely. Also, to not keep generated stuff in repository.
This can be accomplished by moving all your stuff to app/assets directory, for example. Things from assets directories are copied as-is to public directory. But it's up to you.

Resources