diff options
Diffstat (limited to 'java/sca/distribution/features/etc')
4 files changed, 165 insertions, 12 deletions
diff --git a/java/sca/distribution/features/etc/generate-down-dependencies.sh b/java/sca/distribution/features/etc/generate-down-dependencies.sh new file mode 100755 index 0000000000..9898835c25 --- /dev/null +++ b/java/sca/distribution/features/etc/generate-down-dependencies.sh @@ -0,0 +1,70 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + +# This generates a Maven assembly component that can be included in a Maven +# assembly to include the source of the modules in a source distribution. + +echo "<!--" +echo " * Licensed to the Apache Software Foundation (ASF) under one" +echo " * or more contributor license agreements. See the NOTICE file" +echo " * distributed with this work for additional information" +echo " * regarding copyright ownership. The ASF licenses this file" +echo " * to you under the Apache License, Version 2.0 (the" +echo " * "License"); you may not use this file except in compliance" +echo " * with the License. You may obtain a copy of the License at" +echo " *" +echo " * http://www.apache.org/licenses/LICENSE-2.0" +echo " *" +echo " * Unless required by applicable law or agreed to in writing," +echo " * software distributed under the License is distributed on an" +echo " * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY" +echo " * KIND, either express or implied. See the License for the" +echo " * specific language governing permissions and limitations" +echo " * under the License." +echo "-->" +echo "<component>" +echo " <dependencySets>" +echo "" +echo " <!-- Add all the Tuscany modules to the modules directory -->" +echo " <dependencySet>" +echo " <outputDirectory>modules</outputDirectory>" +echo " <unpack>false</unpack>" +echo " <useTransitiveFiltering>true</useTransitiveFiltering>" +echo " <includes>" +echo " <include>org.apache.tuscany.sca:*</include>" +echo " </includes>" +echo " <excludes>" +mvn -o dependency:list | awk '/.INFO. (.*.tuscany.sca):(tuscany-)(.*):(.*):(.*):(.*)/ { print gensub("(.INFO. )(.*)(:)(.*)(:)(.*)(:)(.*)(:)(.*)", "\\2:\\4", "g") }' | sort | awk '{ printf " <exclude>%s</exclude>\n", $1 }' +echo " </excludes>" +echo " </dependencySet>" +echo "" +echo " <!-- Add all the dependent jars to the lib directory -->" +echo " <dependencySet>" +echo " <outputDirectory>lib</outputDirectory>" +echo " <unpack>false</unpack>" +echo " <useTransitiveFiltering>true</useTransitiveFiltering>" +echo " <excludes>" +mvn -o dependency:list | awk '/.INFO. (.*):(.*):(.*):(.*):(.*)/ && !/(.*)(.tuscany.sca):(.*)/ { print gensub("(.INFO. )(.*)(:)(.*)(:)(.*)(:)(.*)(:)(.*)", "\\2:\\4", "g") }' | sort | awk '{ printf " <exclude>%s</exclude>\n", $1 }' +echo " <exclude>org.apache.tuscany.sca:*</exclude>" +echo " </excludes>" +echo " </dependencySet>" +echo " </dependencySets>" + + +echo "</component>" +echo "" + diff --git a/java/sca/distribution/features/etc/generate-maven-files.sh b/java/sca/distribution/features/etc/generate-maven-files.sh new file mode 100755 index 0000000000..ecff6aeab0 --- /dev/null +++ b/java/sca/distribution/features/etc/generate-maven-files.sh @@ -0,0 +1,23 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + +# This script can be used to generate Maven build POM and assembly files +# for a distribution + +../etc/generate-src-modules.sh > src/main/components/src-modules.xml +../etc/generate-pom.sh > pom.xml + diff --git a/java/sca/distribution/features/etc/generate-pom.sh b/java/sca/distribution/features/etc/generate-pom.sh index cf53e890d9..b901f8cffc 100755 --- a/java/sca/distribution/features/etc/generate-pom.sh +++ b/java/sca/distribution/features/etc/generate-pom.sh @@ -15,26 +15,20 @@ # specific language governing permissions and limitations # under the License. -# After building a distribution, this script can be used to -# generate a Maven build profile that includes all the modules -# included directly or transitively in that distribution +# This script can be used to generate a Maven build profile that includes all +# the modules included directly or transitively in a distribution + +cat pom.xml | awk 'BEGIN { i=0 } /<profiles>/ { i=1; print } /.*/ { if (i==0) print } ' echo " <profile>" echo " <id>modules</id>" echo " <modules>" -unzip -v target/*-SNAPSHOT.zip | awk '/(.*)(\/modules\/tuscany-)(.*)(\..ar$)/ { print gensub("(.*)(/modules/tuscany-)(.*)(-...-SNAPSHOT.jar)", "\\3", "g")}' | sort | awk '{ printf " <module>../../../modules/%s</module>\n", $1 }' +mvn -o dependency:list | awk '/.INFO. (.*.tuscany.sca):(tuscany-)(.*):(.*):(.*):(.*)/ { print gensub("(.INFO. )(.*)(:)(tuscany-)(.*)(:)(.*)(:)(.*)(:)(.*)", "\\5", "g") }' | sort | awk '{ printf " <module>../../../modules/%s</module>\n", $1 }' echo " </modules>" echo " </profile>" echo "" -# This generates a list of includes that can be included in a -# Maven assembly fileset, to include the source of the modules -# in a source distribution for example - -echo " <includes>" -unzip -v target/*-SNAPSHOT.zip | awk '/(.*)(\/modules\/tuscany-)(.*)(\..ar$)/ { print gensub("(.*)(/modules/tuscany-)(.*)(-...-SNAPSHOT.jar)", "\\3", "g")}' | sort | awk '{ printf " <include>%s/**/*</include>\n", $1 }' -echo " </includes>" -echo "" +cat pom.xml | awk 'BEGIN { i=0 } /<\/profiles>/ { i=1 } /.*/ { if (i==1) print } ' diff --git a/java/sca/distribution/features/etc/generate-src-modules.sh b/java/sca/distribution/features/etc/generate-src-modules.sh new file mode 100755 index 0000000000..198636993d --- /dev/null +++ b/java/sca/distribution/features/etc/generate-src-modules.sh @@ -0,0 +1,66 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + +# This generates a Maven assembly component that can be included in a Maven +# assembly to include the source of the modules in a source distribution. + +echo "<!--" +echo " * Licensed to the Apache Software Foundation (ASF) under one" +echo " * or more contributor license agreements. See the NOTICE file" +echo " * distributed with this work for additional information" +echo " * regarding copyright ownership. The ASF licenses this file" +echo " * to you under the Apache License, Version 2.0 (the" +echo " * "License"); you may not use this file except in compliance" +echo " * with the License. You may obtain a copy of the License at" +echo " *" +echo " * http://www.apache.org/licenses/LICENSE-2.0" +echo " *" +echo " * Unless required by applicable law or agreed to in writing," +echo " * software distributed under the License is distributed on an" +echo " * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY" +echo " * KIND, either express or implied. See the License for the" +echo " * specific language governing permissions and limitations" +echo " * under the License." +echo "-->" +echo "<component>" +echo " <fileSets>" +echo "" +echo " <!-- Add module sources to the modules directory -->" +echo " <fileSet>" +echo " <directory>../../../modules</directory>" +echo " <outputDirectory>modules</outputDirectory>" +echo " <includes>" + +mvn -o dependency:list | awk '/.INFO. (.*.tuscany.sca):(tuscany-)(.*):(.*):(.*):(.*)/ { print gensub("(.INFO. )(.*)(:)(tuscany-)(.*)(:)(.*)(:)(.*)(:)(.*)", "\\5", "g") }' | sort | awk '{ printf " <include>%s/**/*</include>\n", $1 }' + +echo " </includes>" +echo " <excludes>" +echo " <!-- General file/folders to exclude -->" +echo " <exclude>**/.*</exclude>" +echo " <exclude>**/.*/**</exclude>" +echo " <exclude>**/*.log</exclude>" +echo "" +echo " <!-- Specific files/folders to exclude -->" +echo " <exclude>pom.xml</exclude>" +echo " <exclude>**/target</exclude>" +echo " <exclude>**/target/**/*</exclude>" +echo " </excludes>" +echo " </fileSet>" +echo " </fileSets>" +echo "</component>" +echo "" + |