diff options
Diffstat (limited to 'maven')
29 files changed, 1490 insertions, 0 deletions
diff --git a/maven/README.txt b/maven/README.txt new file mode 100644 index 0000000..a976718 --- /dev/null +++ b/maven/README.txt @@ -0,0 +1,256 @@ +------------------------------------------------------------------------ +Maven deployment scripts +------------------------------------------------------------------------ + +The purpose of these scripts is to produce a set of PGP-signed jars and +POM files for deployment to Maven Central. + + http://search.maven.org + +Because the jogamp projects do not use Maven to manage their own builds +(and it would be too much work for very little gain to convert the build +system over to Maven), these scripts take an archive of already-released +jar files and produce renamed jar files and POM files as output, ready +for deployment to the repository. + +These instructions assume that you know how to set up a PGP agent [0]. + +In order to get packages onto Maven Central, it's necessary to have an +account on one of the large Java "forges". The most-used one seems to be +Sonatype. See the repository usage guide [1] for details on getting an +account. + +------------------------------------------------------------------------ +Instructions +------------------------------------------------------------------------ + + 1. Obtain the jogamp-all-platforms.7z release for the version + of jogamp you wish to deploy to Central. As an example, we'll + use 2.0-rc11. Unpack the 7z file to the 'input' subdirectory, + creating it if it doesn't exist: + + $ mkdir input + $ cd input + $ wget http://jogamp.org/deployment/v2.0-rc11/archive/jogamp-all-platforms.7z + $ 7z x jogamp-all-platforms.7z + + 2. Switch back to the old directory: + + $ cd .. + + 3. The Central repository requires PGP signatures on all files + deployed to the repository. Because we'll be signing a lot + of files, we need this to occur in the most automated manner + possible. Therefore, we need to tell Maven which PGP key to + use and also to tell it to use any running PGP agent we have. + To do this, we have to add a profile to $HOME/.m2/settings.xml + that sets various properties that tell the PGP plugin what + to do. My settings.xml looks something like: + + <?xml version="1.0" encoding="UTF-8"?> + <settings + xmlns="http://maven.apache.org/SETTINGS/1.0.0" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd"> + <profiles> + <profile> + <id>jogamp-deployment</id> + <properties> + <gpg.useagent>true</gpg.useagent> + <gpg.keyname>jogamp.com (Release signing key)</gpg.keyname> + </properties> + </profile> + </profiles> + <activeProfiles> + <activeProfile>jogamp-deployment</activeProfile> + </activeProfiles> + </settings> + + That is, I've defined a new profile called "jogamp-deployment" + that enables the use of a PGP agent, and uses the string + "jogamp.com (Release signing key)" to tell PGP which key to use. + You can obviously use the fingerprint of the key here too + (or anything else that uniquely identifies it). + + See: http://www.sonatype.com/books/mvnref-book/reference/profiles.html + + 4. Now, run make.sh with the desired version number to generate POM + files and copy jar files to the correct places: + + $ ./make.sh 2.0-rc11 + + 5. The scripts will have created an 'output' directory, containing + all the prepared releases. It's now necessary to deploy the releases, + one at a time [2]. Assuming that our Sonatype username is 'jogamp' + and our password is '********', we now need to edit settings.xml + to tell Maven to use them both: + + <?xml version="1.0" encoding="UTF-8"?> + <settings + xmlns="http://maven.apache.org/SETTINGS/1.0.0" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd"> + <profiles> + <profile> + <id>jogamp-deployment</id> + <properties> + <gpg.useagent>true</gpg.useagent> + <gpg.keyname>jogamp.com (Release signing key)</gpg.keyname> + </properties> + </profile> + </profiles> + <activeProfiles> + <activeProfile>jogamp-deployment</activeProfile> + </activeProfiles> + <servers> + <server> + <id>sonatype-nexus-staging</id> + <username>jogamp</username> + <password>********</password> + </server> + </servers> + </settings> + + That is, we define a new server called 'sonatype-nexus-staging' (this + is the name that the scripts use to refer to the remote repository), + and state that it wants username 'jogamp' and password '********'. + + 6. Now we can deploy an individual project to the staging repository: + + $ ./make-deploy-one.sh gluegen-rt-main 2.0-rc11 + + Or deploy all of the projects defined in make-projects.txt: + + $ ./make-deploy.sh 2.0-rc11 + + The scripts will upload all necessary jars, poms, signatures, etc. + + 7. Now, we need to tell the Sonatype repository that we wish to actually + promote the uploaded ("staged") files to a release. This step (unfortunately) + doesn't seem to be possible from the command line. + + Log in to https://oss.sonatype.org using the 'jogamp:********' username + and password. + + Click 'Staging repositories' in the left navigation bar. + + In the main pane, there should now be a table of repositories. Because + we've just uploaded a set of files, there should be one entry (staging + repositories are automatically created when files are uploaded). + + Click the checkbox to the left of the repository name. This will open + a 'repository browser' below the main view, showing a tree of files. + Inspect the tree of files to be sure that all of the necessary files are + present. + + If all files are there, and assuming that the checkbox is still selected + from the previous step, click the 'Close' button above the repository + browser - this will 'close' the staging repository (meaning no new files + can be added). Then click 'Release' when you absolutely positively want + to commit. The release will be made official and the files synced to + the Central repository within two hours. + + If there are still more projects to release, return to step 6. + +------------------------------------------------------------------------ +Projects +------------------------------------------------------------------------ + +The way that Maven works demanded a certain structure to the projects +produced. The requirements were: + + 1. The end-user of the jogamp projects released to the repository + must not have to do anything beyond adding one or two dependencies + to their own projects. Everything must work using only the basic + dependency resolution mechanism that Maven supports and must not + require anything complex in the way of build scripts. + + 2. The way that jogamp projects locate their own jar files must + work as it always had. + +The first requirement was reasonably easy to satisfy (and the details +of which will be covered shortly). The second requirement was complicated +by the fact that Maven unconditionally appends version numbers to jar +files (and requires the numbers to be present in order for the dependency +resolution to work). After trying various approaches, a small change was +made to the jogamp code in order to allow it to cope with version numbers, +and the Maven projects were carefully structured to produce jar files +with usable names. In other words, we had to essentially write Maven +POM files that, when "deployed", produced jar files with the correct +names, using a variety of tricks. The other issue was that jogamp implicitly +assumed that all of the jar files would be in the same directory, whereas +Maven essentially assumes one directory per jar file. + +We ended up with the following structure: For each part of jogamp that +had associated native binaries (contained within jar files), a project +was created. Then, using the "classifiers" [3], each of the native jar +files were deployed along with the main jar file for each project. Using +'gluegen-rt' as an example: + + The main jar file as part of jogamp is "gluegen-rt.jar". When + "deployed" by Maven, this becomes "gluegen-rt-${VERSION}.jar". + + Each native jar file associated with gluegen-rt is named + "gluegen-rt-natives-${OS}-${ARCH}.jar". We use "classifiers" to + get Maven to "deploy" jar files with the correct names: + + PLATFORMS="linux-amd64 linux-i586 ..." + for PLATFORM in ${PLATFORMS} + do + CLASS="natives-${PLATFORM}" + mvn gpg:sign-and-deploy-file \ + -Dfile="gluegen-rt-${VERSION}-natives-${PLATFORM}.jar \ + -Dclassifier="natives-${PLATFORM}" + done + + Assuming version 2.0-rc11, this results in: + + gluegen-rt-2.0-rc11.jar + gluegen-rt-2.0-rc11-natives-linux-amd64.jar + gluegen-rt-2.0-rc11-natives-linux-i586.jar + ... + +This results in a project with a main jar and a set of native jar +files, each with the correct name and version. As the native jar +files are implicitly part of the same "project", they're deployed +in the same directory as the main jar file, and the jogamp code can +locate them without issue. + +The problem with this approach is that the end-user would have +to add an explicit dependency on "gluegen-rt" and each and every +one of the associated native jars in their project's POM file! The +simplest solution for this problem was to create a second project +that contained explicit dependencies on all of the classified jar +files of the first. The end-user then simply adds a dependency on +this second project instead of the first, and everything is resolved +automatically by Maven. This second project also contains an empty +"dummy" jar file in order to allow Maven to deploy it to repositories. + +With that in mind, each part of Maven therefore has an associated +"-main" project, meant to be used by end-users. This "-main" project, +when added to the dependencies of any project, pulls in all of the +real jogamp jars, native or otherwise. + +------------------------------------------------------------------------ +Notes +------------------------------------------------------------------------ + +We're currently uploading empty jar files for the "sources" and +"javadoc" jars required by Central. The rules state that these +files are required unconditionally, but may be empty in the case +that there aren't sources or javadoc. It'd be nice to provide real +sources and javadoc one day. + +------------------------------------------------------------------------ +Footnotes +------------------------------------------------------------------------ + +[0] http://www.gnupg.org/documentation/manuals/gnupg/Invoking-GPG_002dAGENT.html + +[1] https://docs.sonatype.org/display/Repository/Sonatype+OSS+Maven+Repository+Usage+Guide + +[2] Sonatype seems to have the restriction that it's only possible to + deploy one 'artifactId' at a time - that translates to deploying one + jogamp project at a time. + +[3] https://maven.apache.org/plugins/maven-deploy-plugin/examples/deploying-with-classifiers.html diff --git a/maven/clean.sh b/maven/clean.sh new file mode 100755 index 0000000..faa3ed6 --- /dev/null +++ b/maven/clean.sh @@ -0,0 +1,4 @@ +#!/bin/sh + +rm -rfv output +rm -rfv repository diff --git a/maven/empty.jar b/maven/empty.jar Binary files differnew file mode 100644 index 0000000..5eed158 --- /dev/null +++ b/maven/empty.jar diff --git a/maven/gluegen-rt-main.pom.sh b/maven/gluegen-rt-main.pom.sh new file mode 100755 index 0000000..fbd18fc --- /dev/null +++ b/maven/gluegen-rt-main.pom.sh @@ -0,0 +1,66 @@ +#!/bin/sh + +if [ $# -ne 1 ] +then + echo "usage: version" 1>&2 + exit 1 +fi + +VERSION="$1" +shift +PLATFORMS=`cat make-platforms.txt | awk -F: '{print $1}'` || exit 1 + +cat <<EOF +<?xml version="1.0" encoding="UTF-8"?> +<project + xmlns="http://maven.apache.org/POM/4.0.0" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> + + <!-- --> + <!-- Auto generated by gluegen-rt-main.pom.sh, do not edit directly! --> + <!-- --> + + <modelVersion>4.0.0</modelVersion> + <groupId>org.jogamp.gluegen</groupId> + <artifactId>gluegen-rt-main</artifactId> + <version>${VERSION}</version> + <packaging>jar</packaging> + <name>GlueGen Runtime</name> + <description>JNI binding generator (runtime)</description> + <url>http://jogamp.org/gluegen/www/</url> + + <!-- --> + <!-- Explicitly depend on gluegen-rt, and all of its native binary jars. --> + <!-- --> + + <dependencies> + <dependency> + <groupId>\${project.groupId}</groupId> + <artifactId>gluegen-rt</artifactId> + <version>\${project.version}</version> + </dependency> + +EOF + +for PLATFORM in ${PLATFORMS} +do + cat <<EOF + <dependency> + <groupId>\${project.groupId}</groupId> + <artifactId>gluegen-rt</artifactId> + <version>\${project.version}</version> + <classifier>natives-${PLATFORM}</classifier> + </dependency> +EOF +done + +cat <<EOF + </dependencies> + +EOF + +cat gluegen.pom.in || exit 1 +cat <<EOF +</project> +EOF diff --git a/maven/gluegen-rt.pom.sh b/maven/gluegen-rt.pom.sh new file mode 100755 index 0000000..9ff1443 --- /dev/null +++ b/maven/gluegen-rt.pom.sh @@ -0,0 +1,37 @@ +#!/bin/sh + +if [ $# -ne 1 ] +then + echo "usage: version" 1>&2 + exit 1 +fi + +VERSION="$1" +shift + +cat <<EOF +<?xml version="1.0" encoding="UTF-8"?> +<project + xmlns="http://maven.apache.org/POM/4.0.0" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> + + <!-- --> + <!-- Auto generated by gluegen-rt.pom.sh, do not edit directly! --> + <!-- --> + + <modelVersion>4.0.0</modelVersion> + <groupId>org.jogamp.gluegen</groupId> + <artifactId>gluegen-rt</artifactId> + <version>${VERSION}</version> + <packaging>jar</packaging> + <name>GlueGen Runtime</name> + <description>JNI binding generator (runtime)</description> + <url>http://jogamp.org/gluegen/www/</url> + +EOF + +cat gluegen.pom.in || exit 1 +cat <<EOF +</project> +EOF diff --git a/maven/gluegen.pom.in b/maven/gluegen.pom.in new file mode 100644 index 0000000..96c5a7d --- /dev/null +++ b/maven/gluegen.pom.in @@ -0,0 +1,63 @@ + <!-- gluegen.pom.in --> + + <scm> + <url>http://jogamp.org/git/?p=gluegen.git/</url> + <connection>scm:git:http://jogamp.org/git/gluegen.git/</connection> + <developerConnection>scm:git:http://jogamp.org/git/gluegen.git/</developerConnection> + </scm> + + <licenses> + <license> + <name>BSD-2 License</name> + <url>http://www.opensource.org/licenses/BSD-2-Clause</url> + </license> + <license> + <name>BSD-3 License</name> + <url>http://www.opensource.org/licenses/BSD-3-Clause</url> + </license> + <license> + <name>BSD-4 License</name> + <url>http://www.spdx.org/licenses/BSD-4-Clause</url> + </license> + </licenses> + + <developers> + <developer> + <id>sgothel</id> + <name>Sven Gothel</name> + <email>[email protected]</email> + <url>http://blog.jausoft.com</url> + </developer> + </developers> + + <issueManagement> + <url>http://jogamp.org/bugzilla/</url> + <system>Bugzilla</system> + </issueManagement> + + <build> + <plugins> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-gpg-plugin</artifactId> + <version>1.4</version> + <executions> + <execution> + <id>sign-artifacts</id> + <phase>verify</phase> + <goals> + <goal>sign</goal> + </goals> + </execution> + </executions> + </plugin> + </plugins> + <extensions> + <extension> + <groupId>org.apache.maven.wagon</groupId> + <artifactId>wagon-ssh-external</artifactId> + <version>2.2</version> + </extension> + </extensions> + </build> + diff --git a/maven/joal-main.pom.sh b/maven/joal-main.pom.sh new file mode 100755 index 0000000..5539a75 --- /dev/null +++ b/maven/joal-main.pom.sh @@ -0,0 +1,66 @@ +#!/bin/sh + +if [ $# -ne 1 ] +then + echo "usage: version" 1>&2 + exit 1 +fi + +VERSION="$1" +shift +PLATFORMS=`cat make-platforms.txt | awk -F: '{print $1}'` || exit 1 + +cat <<EOF +<?xml version="1.0" encoding="UTF-8"?> +<project + xmlns="http://maven.apache.org/POM/4.0.0" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> + + <!-- --> + <!-- Auto generated by joal-main.pom.sh, do not edit directly! --> + <!-- --> + + <modelVersion>4.0.0</modelVersion> + <groupId>org.jogamp.joal</groupId> + <artifactId>joal-main</artifactId> + <version>${VERSION}</version> + <packaging>jar</packaging> + <name>JOAL</name> + <description>Java™ Binding for the OpenAL® API</description> + <url>http://jogamp.org/joal/www/</url> + + <!-- --> + <!-- Explicitly depend on joal, and all of its native binary jars. --> + <!-- --> + + <dependencies> + <dependency> + <groupId>\${project.groupId}</groupId> + <artifactId>joal</artifactId> + <version>\${project.version}</version> + </dependency> + +EOF + +for PLATFORM in ${PLATFORMS} +do + cat <<EOF + <dependency> + <groupId>\${project.groupId}</groupId> + <artifactId>joal</artifactId> + <version>\${project.version}</version> + <classifier>natives-${PLATFORM}</classifier> + </dependency> +EOF +done + +cat <<EOF + </dependencies> + +EOF + +cat joal.pom.in || exit 1 +cat <<EOF +</project> +EOF diff --git a/maven/joal.pom.in b/maven/joal.pom.in new file mode 100644 index 0000000..373b699 --- /dev/null +++ b/maven/joal.pom.in @@ -0,0 +1,75 @@ + <!-- joal.pom.in --> + + <licenses> + <license> + <name>BSD-2 License</name> + <url>http://www.opensource.org/licenses/BSD-2-Clause</url> + </license> + <license> + <name>BSD-3 License</name> + <url>http://www.opensource.org/licenses/BSD-3-Clause</url> + </license> + <license> + <name>SGI Free Software License B</name> + <url>http://oss.sgi.com/projects/FreeB</url> + </license> + <license> + <name>Apache License Version 2.0</name> + <url>http://www.apache.org/licenses/LICENSE-2.0</url> + </license> + <license> + <name>Apache License Version 1.1</name> + <url>http://www.apache.org/licenses/LICENSE-1.1</url> + </license> + <license> + <name>Ubuntu Font Licence 1.0</name> + <url>http://font.ubuntu.com/ufl/ubuntu-font-licence-1.0.txt</url> + </license> + </licenses> + + <scm> + <url>http://jogamp.org/git/?p=joal.git/</url> + <connection>scm:git:http://jogamp.org/git/joal.git/</connection> + <developerConnection>scm:git:http://jogamp.org/git/joal.git/</developerConnection> + </scm> + + <developers> + <developer> + <id>sgothel</id> + <name>Sven Gothel</name> + <email>[email protected]</email> + <url>http://blog.jausoft.com</url> + </developer> + </developers> + + <issueManagement> + <url>http://jogamp.org/bugzilla/</url> + <system>Bugzilla</system> + </issueManagement> + + <build> + <plugins> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-gpg-plugin</artifactId> + <version>1.4</version> + <executions> + <execution> + <id>sign-artifacts</id> + <phase>verify</phase> + <goals> + <goal>sign</goal> + </goals> + </execution> + </executions> + </plugin> + </plugins> + <extensions> + <extension> + <groupId>org.apache.maven.wagon</groupId> + <artifactId>wagon-ssh-external</artifactId> + <version>2.2</version> + </extension> + </extensions> + </build> + diff --git a/maven/joal.pom.sh b/maven/joal.pom.sh new file mode 100755 index 0000000..313eb33 --- /dev/null +++ b/maven/joal.pom.sh @@ -0,0 +1,37 @@ +#!/bin/sh + +if [ $# -ne 1 ] +then + echo "usage: version" 1>&2 + exit 1 +fi + +VERSION="$1" +shift + +cat <<EOF +<?xml version="1.0" encoding="UTF-8"?> +<project + xmlns="http://maven.apache.org/POM/4.0.0" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> + + <!-- --> + <!-- Auto generated by joal.pom.sh, do not edit directly! --> + <!-- --> + + <modelVersion>4.0.0</modelVersion> + <groupId>org.jogamp.joal</groupId> + <artifactId>joal</artifactId> + <version>${VERSION}</version> + <packaging>jar</packaging> + <name>JOAL</name> + <description>Java™ Binding for the OpenAL® API</description> + <url>http://jogamp.org/joal/www/</url> + +EOF + +cat joal.pom.in || exit 1 +cat <<EOF +</project> +EOF diff --git a/maven/jocl-main.pom.sh b/maven/jocl-main.pom.sh new file mode 100755 index 0000000..323d285 --- /dev/null +++ b/maven/jocl-main.pom.sh @@ -0,0 +1,66 @@ +#!/bin/sh + +if [ $# -ne 1 ] +then + echo "usage: version" 1>&2 + exit 1 +fi + +VERSION="$1" +shift +PLATFORMS=`cat make-platforms.txt | awk -F: '{print $1}'` || exit 1 + +cat <<EOF +<?xml version="1.0" encoding="UTF-8"?> +<project + xmlns="http://maven.apache.org/POM/4.0.0" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> + + <!-- --> + <!-- Auto generated by jocl-main.pom.sh, do not edit directly! --> + <!-- --> + + <modelVersion>4.0.0</modelVersion> + <groupId>org.jogamp.jocl</groupId> + <artifactId>jocl-main</artifactId> + <version>${VERSION}</version> + <packaging>jar</packaging> + <name>JOCL</name> + <description>Java™ Binding for the OpenCL® API</description> + <url>http://jogamp.org/jocl/www/</url> + + <!-- --> + <!-- Explicitly depend on jocl, and all of its native binary jars. --> + <!-- --> + + <dependencies> + <dependency> + <groupId>\${project.groupId}</groupId> + <artifactId>jocl</artifactId> + <version>\${project.version}</version> + </dependency> + +EOF + +for PLATFORM in ${PLATFORMS} +do + cat <<EOF + <dependency> + <groupId>\${project.groupId}</groupId> + <artifactId>jocl</artifactId> + <version>\${project.version}</version> + <classifier>natives-${PLATFORM}</classifier> + </dependency> +EOF +done + +cat <<EOF + </dependencies> + +EOF + +cat jocl.pom.in || exit 1 +cat <<EOF +</project> +EOF diff --git a/maven/jocl.pom.in b/maven/jocl.pom.in new file mode 100644 index 0000000..4574387 --- /dev/null +++ b/maven/jocl.pom.in @@ -0,0 +1,75 @@ + <!-- jocl.pom.in --> + + <licenses> + <license> + <name>BSD-2 License</name> + <url>http://www.opensource.org/licenses/BSD-2-Clause</url> + </license> + <license> + <name>BSD-3 License</name> + <url>http://www.opensource.org/licenses/BSD-3-Clause</url> + </license> + <license> + <name>SGI Free Software License B</name> + <url>http://oss.sgi.com/projects/FreeB</url> + </license> + <license> + <name>Apache License Version 2.0</name> + <url>http://www.apache.org/licenses/LICENSE-2.0</url> + </license> + <license> + <name>Apache License Version 1.1</name> + <url>http://www.apache.org/licenses/LICENSE-1.1</url> + </license> + <license> + <name>Ubuntu Font Licence 1.0</name> + <url>http://font.ubuntu.com/ufl/ubuntu-font-licence-1.0.txt</url> + </license> + </licenses> + + <scm> + <url>http://jogamp.org/git/?p=jocl.git/</url> + <connection>scm:git:http://jogamp.org/git/jocl.git/</connection> + <developerConnection>scm:git:http://jogamp.org/git/jocl.git/</developerConnection> + </scm> + + <developers> + <developer> + <id>sgothel</id> + <name>Sven Gothel</name> + <email>[email protected]</email> + <url>http://blog.jausoft.com</url> + </developer> + </developers> + + <issueManagement> + <url>http://jogamp.org/bugzilla/</url> + <system>Bugzilla</system> + </issueManagement> + + <build> + <plugins> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-gpg-plugin</artifactId> + <version>1.4</version> + <executions> + <execution> + <id>sign-artifacts</id> + <phase>verify</phase> + <goals> + <goal>sign</goal> + </goals> + </execution> + </executions> + </plugin> + </plugins> + <extensions> + <extension> + <groupId>org.apache.maven.wagon</groupId> + <artifactId>wagon-ssh-external</artifactId> + <version>2.2</version> + </extension> + </extensions> + </build> + diff --git a/maven/jocl.pom.sh b/maven/jocl.pom.sh new file mode 100755 index 0000000..4fc1756 --- /dev/null +++ b/maven/jocl.pom.sh @@ -0,0 +1,37 @@ +#!/bin/sh + +if [ $# -ne 1 ] +then + echo "usage: version" 1>&2 + exit 1 +fi + +VERSION="$1" +shift + +cat <<EOF +<?xml version="1.0" encoding="UTF-8"?> +<project + xmlns="http://maven.apache.org/POM/4.0.0" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> + + <!-- --> + <!-- Auto generated by jocl.pom.sh, do not edit directly! --> + <!-- --> + + <modelVersion>4.0.0</modelVersion> + <groupId>org.jogamp.jocl</groupId> + <artifactId>jocl</artifactId> + <version>${VERSION}</version> + <packaging>jar</packaging> + <name>JOCL</name> + <description>Java™ Binding for the OpenCL® API</description> + <url>http://jogamp.org/jocl/www/</url> + +EOF + +cat jocl.pom.in || exit 1 +cat <<EOF +</project> +EOF diff --git a/maven/jogl-all-main.pom.sh b/maven/jogl-all-main.pom.sh new file mode 100755 index 0000000..5a258c0 --- /dev/null +++ b/maven/jogl-all-main.pom.sh @@ -0,0 +1,66 @@ +#!/bin/sh + +if [ $# -ne 1 ] +then + echo "usage: version" 1>&2 + exit 1 +fi + +VERSION="$1" +shift +PLATFORMS=`cat make-platforms.txt | awk -F: '{print $1}'` || exit 1 + +cat <<EOF +<?xml version="1.0" encoding="UTF-8"?> +<project + xmlns="http://maven.apache.org/POM/4.0.0" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> + + <!-- --> + <!-- Auto generated by jogl-all-main.pom.sh, do not edit directly! --> + <!-- --> + + <modelVersion>4.0.0</modelVersion> + <groupId>org.jogamp.jogl</groupId> + <artifactId>jogl-all-main</artifactId> + <version>${VERSION}</version> + <packaging>jar</packaging> + <name>JOGL</name> + <description>Java™ Binding for the OpenGL® API</description> + <url>http://jogamp.org/jogl/www/</url> + + <!-- --> + <!-- Explicitly depend on jogl-all, and all of its native binary jars. --> + <!-- --> + + <dependencies> + <dependency> + <groupId>\${project.groupId}</groupId> + <artifactId>jogl-all</artifactId> + <version>\${project.version}</version> + </dependency> + +EOF + +for PLATFORM in ${PLATFORMS} +do + cat <<EOF + <dependency> + <groupId>\${project.groupId}</groupId> + <artifactId>jogl-all</artifactId> + <version>\${project.version}</version> + <classifier>natives-${PLATFORM}</classifier> + </dependency> +EOF +done + +cat <<EOF + </dependencies> + +EOF + +cat jogl.pom.in || exit 1 +cat <<EOF +</project> +EOF diff --git a/maven/jogl-all-mobile-main.pom.sh b/maven/jogl-all-mobile-main.pom.sh new file mode 100755 index 0000000..633e517 --- /dev/null +++ b/maven/jogl-all-mobile-main.pom.sh @@ -0,0 +1,67 @@ +#!/bin/sh + +if [ $# -ne 1 ] +then + echo "usage: version" 1>&2 + exit 1 +fi + +VERSION="$1" +shift +PLATFORMS=`cat make-platforms.txt | awk -F: '{print $1}'` || exit 1 + +cat <<EOF +<?xml version="1.0" encoding="UTF-8"?> +<project + xmlns="http://maven.apache.org/POM/4.0.0" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> + + <!-- --> + <!-- Auto generated by jogl-all-mobile-main.pom.sh, do not edit directly! --> + <!-- --> + + <modelVersion>4.0.0</modelVersion> + <groupId>org.jogamp.jogl</groupId> + <artifactId>jogl-all-mobile-main</artifactId> + <version>${VERSION}</version> + <packaging>jar</packaging> + <name>JOGL</name> + <description>Java™ Binding for the OpenGL® API (Mobile)</description> + <url>http://jogamp.org/jogl/www/</url> + + <!-- --> + <!-- Explicitly depend on jogl-all-mobile, and all of the native --> + <!-- binary jars in jogl-all. --> + <!-- --> + + <dependencies> + <dependency> + <groupId>\${project.groupId}</groupId> + <artifactId>jogl-all-mobile</artifactId> + <version>\${project.version}</version> + </dependency> + +EOF + +for PLATFORM in ${PLATFORMS} +do + cat <<EOF + <dependency> + <groupId>\${project.groupId}</groupId> + <artifactId>jogl-all</artifactId> + <version>\${project.version}</version> + <classifier>natives-${PLATFORM}</classifier> + </dependency> +EOF +done + +cat <<EOF + </dependencies> + +EOF + +cat jogl.pom.in || exit 1 +cat <<EOF +</project> +EOF diff --git a/maven/jogl-all-mobile.pom.sh b/maven/jogl-all-mobile.pom.sh new file mode 100755 index 0000000..252728e --- /dev/null +++ b/maven/jogl-all-mobile.pom.sh @@ -0,0 +1,37 @@ +#!/bin/sh + +if [ $# -ne 1 ] +then + echo "usage: version" 1>&2 + exit 1 +fi + +VERSION="$1" +shift + +cat <<EOF +<?xml version="1.0" encoding="UTF-8"?> +<project + xmlns="http://maven.apache.org/POM/4.0.0" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> + + <!-- --> + <!-- Auto generated by jogl-all-mobile.pom.sh, do not edit directly! --> + <!-- --> + + <modelVersion>4.0.0</modelVersion> + <groupId>org.jogamp.jogl</groupId> + <artifactId>jogl-all-mobile</artifactId> + <version>${VERSION}</version> + <packaging>jar</packaging> + <name>JOGL</name> + <description>Java™ Binding for the OpenGL® API (Mobile)</description> + <url>http://jogamp.org/jogl/www/</url> + +EOF + +cat jogl.pom.in || exit 1 +cat <<EOF +</project> +EOF diff --git a/maven/jogl-all-noawt-main.pom.sh b/maven/jogl-all-noawt-main.pom.sh new file mode 100755 index 0000000..f812807 --- /dev/null +++ b/maven/jogl-all-noawt-main.pom.sh @@ -0,0 +1,68 @@ + +#!/bin/sh + +if [ $# -ne 1 ] +then + echo "usage: version" 1>&2 + exit 1 +fi + +VERSION="$1" +shift +PLATFORMS=`cat make-platforms.txt | awk -F: '{print $1}'` || exit 1 + +cat <<EOF +<?xml version="1.0" encoding="UTF-8"?> +<project + xmlns="http://maven.apache.org/POM/4.0.0" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> + + <!-- --> + <!-- Auto generated by jogl-all-noawt-main.pom.sh, do not edit directly! --> + <!-- --> + + <modelVersion>4.0.0</modelVersion> + <groupId>org.jogamp.jogl</groupId> + <artifactId>jogl-all-noawt-main</artifactId> + <version>${VERSION}</version> + <packaging>jar</packaging> + <name>JOGL</name> + <description>Java™ Binding for the OpenGL® API (Without AWT)</description> + <url>http://jogamp.org/jogl/www/</url> + + <!-- --> + <!-- Explicitly depend on jogl-all-noawt, and all of the native binary jars --> + <!-- in jogl-all. --> + <!-- --> + + <dependencies> + <dependency> + <groupId>\${project.groupId}</groupId> + <artifactId>jogl-all-noawt</artifactId> + <version>\${project.version}</version> + </dependency> + +EOF + +for PLATFORM in ${PLATFORMS} +do + cat <<EOF + <dependency> + <groupId>\${project.groupId}</groupId> + <artifactId>jogl-all</artifactId> + <version>\${project.version}</version> + <classifier>natives-${PLATFORM}</classifier> + </dependency> +EOF +done + +cat <<EOF + </dependencies> + +EOF + +cat jogl.pom.in || exit 1 +cat <<EOF +</project> +EOF diff --git a/maven/jogl-all-noawt.pom.sh b/maven/jogl-all-noawt.pom.sh new file mode 100755 index 0000000..8486688 --- /dev/null +++ b/maven/jogl-all-noawt.pom.sh @@ -0,0 +1,37 @@ +#!/bin/sh + +if [ $# -ne 1 ] +then + echo "usage: version" 1>&2 + exit 1 +fi + +VERSION="$1" +shift + +cat <<EOF +<?xml version="1.0" encoding="UTF-8"?> +<project + xmlns="http://maven.apache.org/POM/4.0.0" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> + + <!-- --> + <!-- Auto generated by jogl-all-noawt.pom.sh, do not edit directly! --> + <!-- --> + + <modelVersion>4.0.0</modelVersion> + <groupId>org.jogamp.jogl</groupId> + <artifactId>jogl-all-noawt</artifactId> + <version>${VERSION}</version> + <packaging>jar</packaging> + <name>JOGL</name> + <description>Java™ Binding for the OpenGL® API (Without AWT)</description> + <url>http://jogamp.org/jogl/www/</url> + +EOF + +cat jogl.pom.in || exit 1 +cat <<EOF +</project> +EOF diff --git a/maven/jogl-all.pom.sh b/maven/jogl-all.pom.sh new file mode 100755 index 0000000..db6f28b --- /dev/null +++ b/maven/jogl-all.pom.sh @@ -0,0 +1,37 @@ +#!/bin/sh + +if [ $# -ne 1 ] +then + echo "usage: version" 1>&2 + exit 1 +fi + +VERSION="$1" +shift + +cat <<EOF +<?xml version="1.0" encoding="UTF-8"?> +<project + xmlns="http://maven.apache.org/POM/4.0.0" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> + + <!-- --> + <!-- Auto generated by jogl-all.pom.sh, do not edit directly! --> + <!-- --> + + <modelVersion>4.0.0</modelVersion> + <groupId>org.jogamp.jogl</groupId> + <artifactId>jogl-all</artifactId> + <version>${VERSION}</version> + <packaging>jar</packaging> + <name>JOGL</name> + <description>Java™ Binding for the OpenGL® API</description> + <url>http://jogamp.org/jogl/www/</url> + +EOF + +cat jogl.pom.in || exit 1 +cat <<EOF +</project> +EOF diff --git a/maven/jogl.pom.in b/maven/jogl.pom.in new file mode 100644 index 0000000..bdb129d --- /dev/null +++ b/maven/jogl.pom.in @@ -0,0 +1,75 @@ + <!-- jogl.pom.in --> + + <licenses> + <license> + <name>BSD-2 License</name> + <url>http://www.opensource.org/licenses/BSD-2-Clause</url> + </license> + <license> + <name>BSD-3 License</name> + <url>http://www.opensource.org/licenses/BSD-3-Clause</url> + </license> + <license> + <name>SGI Free Software License B</name> + <url>http://oss.sgi.com/projects/FreeB</url> + </license> + <license> + <name>Apache License Version 2.0</name> + <url>http://www.apache.org/licenses/LICENSE-2.0</url> + </license> + <license> + <name>Apache License Version 1.1</name> + <url>http://www.apache.org/licenses/LICENSE-1.1</url> + </license> + <license> + <name>Ubuntu Font Licence 1.0</name> + <url>http://font.ubuntu.com/ufl/ubuntu-font-licence-1.0.txt</url> + </license> + </licenses> + + <scm> + <url>http://jogamp.org/git/?p=jogl.git/</url> + <connection>scm:git:http://jogamp.org/git/jogl.git/</connection> + <developerConnection>scm:git:http://jogamp.org/git/jogl.git/</developerConnection> + </scm> + + <developers> + <developer> + <id>sgothel</id> + <name>Sven Gothel</name> + <email>[email protected]</email> + <url>http://blog.jausoft.com</url> + </developer> + </developers> + + <issueManagement> + <url>http://jogamp.org/bugzilla/</url> + <system>Bugzilla</system> + </issueManagement> + + <build> + <plugins> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-gpg-plugin</artifactId> + <version>1.4</version> + <executions> + <execution> + <id>sign-artifacts</id> + <phase>verify</phase> + <goals> + <goal>sign</goal> + </goals> + </execution> + </executions> + </plugin> + </plugins> + <extensions> + <extension> + <groupId>org.apache.maven.wagon</groupId> + <artifactId>wagon-ssh-external</artifactId> + <version>2.2</version> + </extension> + </extensions> + </build> + diff --git a/maven/make-copy-jars.sh b/maven/make-copy-jars.sh new file mode 100755 index 0000000..d4b0c27 --- /dev/null +++ b/maven/make-copy-jars.sh @@ -0,0 +1,91 @@ +#!/bin/sh + +info() +{ + echo "make-copy-jars: info: $1" 1>&2 +} + +copy() +{ + SOURCE="$1" + TARGET="$2" + + info "copy $1 $2.tmp" 1>&2 + cp "$1" "$2.tmp" || exit 1 + info "rename $2.tmp $2" 1>&2 + mv "$2.tmp" "$2" || exit 1 +} + +if [ $# -ne 1 ] +then + info "usage: version" + exit 1 +fi + +VERSION="$1" +shift + +INPUT="input/jogamp-all-platforms" + +if [ ! -d "${INPUT}" ] +then + echo "make-copy-jars: error: ${INPUT} is not an existing directory" 1>&2 + echo "make-copy-jars: error: unpack jogamp-all-platforms.7z into 'input'" 1>&2 + exit 1 +fi + +PROJECTS=`cat make-projects.txt` || exit 1 +PLATFORMS=`cat make-platforms.txt | awk '{print $1}'` || exit 1 + +IFS=" +" + +for PROJECT_LINE in ${PROJECTS} +do + # Determine project name + NAME=`echo "${PROJECT_LINE}" | awk -F: '{print $1}'` || exit 1 + NAME=`echo "${NAME}" | tr -d ' '` || exit 1 + + # Determine whether or not the project has native jars + NATIVES=`echo "${PROJECT_LINE}" | awk -F: '{print $2}'` || exit 1 + NATIVES=`echo "${NATIVES}" | tr -d ' '` || exit 1 + + # Determine whether or not the project uses an empty "dummy" jar + DUMMY=`echo "${PROJECT_LINE}" | awk -F: '{print $3}'` || exit 1 + DUMMY=`echo "${DUMMY}" | tr -d ' '` || exit 1 + + # Copy all native jars, if necessary + if [ "${NATIVES}" = "natives" ] + then + for PLATFORM in ${PLATFORMS} + do + SOURCE="${INPUT}/jar/${NAME}-natives-${PLATFORM}.jar" + TARGET="output/${NAME}/${VERSION}/${NAME}-${VERSION}-natives-${PLATFORM}.jar" + copy "${SOURCE}" "${TARGET}" + done + fi + + # Copy dummy jar, if necessary + if [ "${DUMMY}" = "dummy-jar" ] + then + SOURCE="empty.jar" + TARGET="output/${NAME}/${VERSION}/${NAME}.jar" + copy "${SOURCE}" "${TARGET}" + else + # Copy main jar + SOURCE="${INPUT}/jar/${NAME}.jar" + TARGET="output/${NAME}/${VERSION}/${NAME}.jar" + copy "${SOURCE}" "${TARGET}" + fi + + # Copy dummy jars to 'sources' and 'javadoc' jars, as we + # don't publish real versions of these yet. + SOURCE="empty.jar" + TARGET="output/${NAME}/${VERSION}/${NAME}-${VERSION}-sources.jar" + copy "${SOURCE}" "${TARGET}" + + SOURCE="empty.jar" + TARGET="output/${NAME}/${VERSION}/${NAME}-${VERSION}-javadoc.jar" + copy "${SOURCE}" "${TARGET}" +done + diff --git a/maven/make-copy-poms.sh b/maven/make-copy-poms.sh new file mode 100755 index 0000000..67b64cd --- /dev/null +++ b/maven/make-copy-poms.sh @@ -0,0 +1,38 @@ +#!/bin/sh + +info() +{ + echo "make-copy-poms: info: $1" 1>&2 +} + +copy() +{ + SOURCE="$1" + TARGET="$2" + + info "copy $1 $2.tmp" 1>&2 + cp "$1" "$2.tmp" || exit 1 + info "rename $2.tmp $2" 1>&2 + mv "$2.tmp" "$2" || exit 1 +} + +if [ $# -ne 1 ] +then + echo "make-copy-poms: usage: version" 1>&2 + exit 1 +fi + +VERSION="$1" +shift + +PROJECTS=`cat make-projects.txt | awk -F: '{print $1}'` || exit 1 + +for PROJECT in ${PROJECTS} +do + SOURCE="${PROJECT}.pom" + TARGET="output/${PROJECT}/${VERSION}/${PROJECT}-${VERSION}.pom" + copy "${SOURCE}" "${TARGET}" + TARGET="output/${PROJECT}/${VERSION}/pom.xml" + copy "${SOURCE}" "${TARGET}" +done + diff --git a/maven/make-deploy-one.sh b/maven/make-deploy-one.sh new file mode 100755 index 0000000..458ee44 --- /dev/null +++ b/maven/make-deploy-one.sh @@ -0,0 +1,71 @@ +#!/bin/sh + +info() +{ + echo "make-deploy-one: info: $1" 1>&2 +} + +if [ $# -ne 2 ] +then + info "usage: name version" + exit 1 +fi + +NAME="$1" +shift +VERSION="$1" +shift + +REPOSITORY_URL="https://oss.sonatype.org/service/local/staging/deploy/maven2/" +REPOSITORY_ID="sonatype-nexus-staging" + +# REPOSITORY_URL="scpexe://jogamp.org/home/mraynsford/repository/" +# REPOSITORY_ID="jogamp-test-mirror" + +PLATFORMS=`cat make-platforms.txt | awk '{print $1}'` || exit 1 +CURRENT_DIR=`pwd` || exit 1 + +PROJECT_LINE=`egrep "^${NAME}\s+" make-projects.txt` || exit 1 + +# Determine whether or not the project has native jars +NATIVES=`echo "${PROJECT_LINE}" | awk -F: '{print $2}'` || exit 1 +NATIVES=`echo "${NATIVES}" | tr -d ' '` || exit 1 + +cd "output/${NAME}/${VERSION}" || exit 1 + +# Deploy jar. +mvn gpg:sign-and-deploy-file \ + "-DpomFile=pom.xml" \ + "-Dfile=${NAME}.jar" \ + "-Durl=${REPOSITORY_URL}" \ + "-DrepositoryId=${REPOSITORY_ID}" + +# Deploy native jars into repository, if necessary. +if [ "${NATIVES}" = "natives" ] +then + for PLATFORM in ${PLATFORMS} + do + mvn gpg:sign-and-deploy-file \ + "-DpomFile=pom.xml" \ + "-Dfile=${NAME}-${VERSION}-natives-${PLATFORM}.jar" \ + "-Dclassifier=natives-${PLATFORM}" \ + "-Durl=${REPOSITORY_URL}" \ + "-DrepositoryId=${REPOSITORY_ID}" + done +fi + +# Deploy empty 'sources' and 'javadoc' jars. +mvn gpg:sign-and-deploy-file \ + "-DpomFile=pom.xml" \ + "-Dfile=${NAME}-${VERSION}-javadoc.jar" \ + "-Dclassifier=javadoc" \ + "-Durl=${REPOSITORY_URL}" \ + "-DrepositoryId=${REPOSITORY_ID}" + +mvn gpg:sign-and-deploy-file \ + "-DpomFile=pom.xml" \ + "-Dfile=${NAME}-${VERSION}-sources.jar" \ + "-Dclassifier=sources" \ + "-Durl=${REPOSITORY_URL}" \ + "-DrepositoryId=${REPOSITORY_ID}" + diff --git a/maven/make-deploy.sh b/maven/make-deploy.sh new file mode 100755 index 0000000..3540cec --- /dev/null +++ b/maven/make-deploy.sh @@ -0,0 +1,35 @@ +#!/bin/sh + +info() +{ + echo "make-deploy: info: $1" 1>&2 +} + +if [ $# -ne 1 ] +then + info "usage: version" + exit 1 +fi + +VERSION="$1" +shift + +PROJECTS=`cat make-projects.txt` || exit 1 +PLATFORMS=`cat make-platforms.txt | awk '{print $1}'` || exit 1 + +CURRENT_DIR=`pwd` || exit 1 + +# Set internal field separator to newlines so that ${PROJECTS} is +# tokenized per-line. +IFS=" +" + +for PROJECT_LINE in ${PROJECTS} +do + # Determine project name + NAME=`echo "${PROJECT_LINE}" | awk -F: '{print $1}'` || exit 1 + NAME=`echo "${NAME}" | tr -d ' '` || exit 1 + + ./make-deploy-one.sh "${NAME}" "${VERSION}" +done + diff --git a/maven/make-directories.sh b/maven/make-directories.sh new file mode 100755 index 0000000..b0f124a --- /dev/null +++ b/maven/make-directories.sh @@ -0,0 +1,19 @@ +#!/bin/sh + +if [ $# -ne 1 ] +then + echo "make-directories: usage: version" 1>&2 + exit 1 +fi + +VERSION="$1" +shift + +PROJECTS=`cat make-projects.txt | awk -F: '{print $1}'` || exit 1 + +for PROJECT in ${PROJECTS} +do + echo "make-directories: info: creating output/${PROJECT}/${VERSION}" 2>&1 + mkdir -p "output/${PROJECT}/${VERSION}" || exit 1 +done + diff --git a/maven/make-jogl-manifest.txt b/maven/make-jogl-manifest.txt new file mode 100644 index 0000000..9d885be --- /dev/null +++ b/maven/make-jogl-manifest.txt @@ -0,0 +1 @@ +Manifest-Version: 1.0 diff --git a/maven/make-platforms.txt b/maven/make-platforms.txt new file mode 100644 index 0000000..6ff9f43 --- /dev/null +++ b/maven/make-platforms.txt @@ -0,0 +1,10 @@ +android-armv6 : Android ARMv6 +linux-amd64 : Linux AMD64 +linux-armv6 : Linux ARMv6 +linux-armv6hf : Linux ARMv6hf +linux-i586 : Linux i586 +macosx-universal : Mac OS X Universal +solaris-amd64 : Solaris AMD64 +solaris-i586 : Solaris i586 +windows-amd64 : Windows AMD64 +windows-i586 : Windows i586 diff --git a/maven/make-poms.sh b/maven/make-poms.sh new file mode 100755 index 0000000..25b29cd --- /dev/null +++ b/maven/make-poms.sh @@ -0,0 +1,20 @@ +#!/bin/sh + +if [ $# -ne 1 ] +then + echo "make-poms: usage: version" 1>&2 + exit 1 +fi + +VERSION="$1" +shift + +PROJECTS=`cat make-projects.txt | awk -F: '{print $1}'` || exit 1 + +for PROJECT in ${PROJECTS} +do + echo "make-poms: info: generating pom for ${PROJECT}" 1>&2 + "./${PROJECT}.pom.sh" "${VERSION}" > "${PROJECT}.pom.tmp" || exit 1 + mv "${PROJECT}.pom.tmp" "${PROJECT}.pom" || exit 1 +done + diff --git a/maven/make-projects.txt b/maven/make-projects.txt new file mode 100644 index 0000000..eb0a579 --- /dev/null +++ b/maven/make-projects.txt @@ -0,0 +1,12 @@ +gluegen-rt : natives : no-dummy-jar +gluegen-rt-main : no-natives : dummy-jar +joal : natives : no-dummy-jar +joal-main : no-natives : dummy-jar +jocl : natives : no-dummy-jar +jocl-main : no-natives : dummy-jar +jogl-all : natives : no-dummy-jar +jogl-all-main : no-natives : dummy-jar +jogl-all-mobile : no-natives : no-dummy-jar +jogl-all-mobile-main : no-natives : dummy-jar +jogl-all-noawt : no-natives : no-dummy-jar +jogl-all-noawt-main : no-natives : dummy-jar diff --git a/maven/make.sh b/maven/make.sh new file mode 100755 index 0000000..496e35d --- /dev/null +++ b/maven/make.sh @@ -0,0 +1,24 @@ +#!/bin/sh + +if [ $# -ne 1 ] +then + echo "usage: version" 1>&2 + exit 1 +fi + +VERSION="$1" +shift + +INPUT="input/jogamp-all-platforms" +if [ ! -d "${INPUT}" ] +then + echo "make: error: ${INPUT} is not an existing directory" 1>&2 + echo "make: error: unpack jogamp-all-platforms.7z into 'input'" 1>&2 + exit 1 +fi + +./make-directories.sh "${VERSION}" || exit 1 +./make-copy-jars.sh "${VERSION}" || exit 1 +./make-poms.sh "${VERSION}" || exit 1 +./make-copy-poms.sh "${VERSION}" || exit 1 + |