diff options
author | Mark Raynsford <[email protected]> | 2013-07-11 12:10:20 +0000 |
---|---|---|
committer | Mark Raynsford <[email protected]> | 2013-07-11 12:10:20 +0000 |
commit | 28f86e2b0395f3cd761df904176219bb18f7731e (patch) | |
tree | 0197d92b09bd221e3eeb63ba57c214c9bf537010 | |
parent | 82ff1aa59ee4d3573965068c7035370a71f59b33 (diff) |
Deploy atomic jar files via newt, gluegen, nativewindow, and jogl packages.
-rw-r--r-- | maven/README.txt | 63 | ||||
-rwxr-xr-x | maven/gluegen.pom.sh | 37 | ||||
-rwxr-xr-x | maven/jogl.pom.sh | 37 | ||||
-rwxr-xr-x | maven/make-copy-jars.sh | 21 | ||||
-rw-r--r-- | maven/make-projects.txt | 34 | ||||
-rw-r--r-- | maven/nativewindow.pom.in | 75 | ||||
-rwxr-xr-x | maven/nativewindow.pom.sh | 37 | ||||
-rw-r--r-- | maven/newt.pom.in | 75 | ||||
-rwxr-xr-x | maven/newt.pom.sh | 37 |
9 files changed, 337 insertions, 79 deletions
diff --git a/maven/README.txt b/maven/README.txt index 2cea946..7d6ea9a 100644 --- a/maven/README.txt +++ b/maven/README.txt @@ -153,69 +153,6 @@ Instructions (deploying a release to Central) If there are still more projects to release, return to step 6. ------------------------------------------------------------------------ -Instructions (deploying something to the jogamp test repository) ------------------------------------------------------------------------- - -In order to deploy to the jogamp test repository, the artifacts must be -deployed over SSH. As Maven now uses jsch [4], and because we require -the use of SSH keypairs, and because jsch can't talk to OpenSSH's -ssh-agent, it takes a bit of extra work to get deployment working -over SSH. - - 1. First, it's necessary to generate a "master password" for - Maven. This is analogous to a password used for a web browser - keychain; it is used to encrypt all other passwords. - - So, pick a good password, and then encrypt it (where 'abcdefgh' - is the password): - - $ mvn --encrypt-master-password abcdefgh - - The command will produce output similar to (note the braces): - - {Ugr6u/ykq9yAl51tEAJSnsUr+6D/qO9cRxr6r7suOr4} - - 2. Then, save this password in $HOME/.m2/settings-security.xml: - - <settingsSecurity> - <master>{Ugr6u/ykq9yAl51tEAJSnsUr+6D/qO9cRxr6r7suOr4}</master> - </settingsSecurity> - - 3. Now, it's necessary to encrypt your SSH key's passphrase with - your master password (where '12345678' is the passphrase): - - $ mvn --encrypt-password 12345678 - {9N6TewUd+9sEbMpmJpLC+O4Q4so0aM3ewriU+n7iA+c=} - - 4. Now, it's necessary to add a definition to $HOME/.m2/settings.xml - so that, given a unique server ID, Maven can find: - - * Your SSH private key - * The passphrase required to decrypt it - * The username to use on the server - - For convenience, we'll call the server "jogamp-test-scp" here, - but it's obviously possible to use whatever name is desired: - - <servers> - <server> - <id>jogamp-test-scp</id> - <username>someone</username> - <privateKey>/home/someone/.ssh/id_rsa</privateKey> - <passphrase>{9N6TewUd+9sEbMpmJpLC+O4Q4so0aM3ewriU+n7iA+c=}</passphrase> - </server> - </servers> - - 5. Now, when running make-deploy.sh, the server ID we added to - $HOME/.m2/settings.xml must be used as the REPOSITORY_ID (and - the REPOSITORY_URL must be adjusted slightly to use the scp:// - protocol as opposed to the old scpexe:// protocol): - - $ export REPOSITORY_ID=jogamp-test-scp - $ export REPOSITORY_URL="scp://jogamp.org/srv/www/jogamp.org/deployment/maven/" - $ ./make-deploy.sh ... - ------------------------------------------------------------------------- Projects ------------------------------------------------------------------------ diff --git a/maven/gluegen.pom.sh b/maven/gluegen.pom.sh new file mode 100755 index 0000000..5af0de9 --- /dev/null +++ b/maven/gluegen.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.pom.sh, do not edit directly! --> + <!-- --> + + <modelVersion>4.0.0</modelVersion> + <groupId>org.jogamp.gluegen</groupId> + <artifactId>gluegen</artifactId> + <version>${VERSION}</version> + <packaging>jar</packaging> + <name>GlueGen Runtime</name> + <description>JNI binding generator (Non-runtime components and atomic jar files)</description> + <url>http://jogamp.org/gluegen/www/</url> + +EOF + +cat gluegen.pom.in || exit 1 +cat <<EOF +</project> +EOF diff --git a/maven/jogl.pom.sh b/maven/jogl.pom.sh new file mode 100755 index 0000000..29a09d4 --- /dev/null +++ b/maven/jogl.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.pom.sh, do not edit directly! --> + <!-- --> + + <modelVersion>4.0.0</modelVersion> + <groupId>org.jogamp.jogl</groupId> + <artifactId>jogl</artifactId> + <version>${VERSION}</version> + <packaging>jar</packaging> + <name>JOGL</name> + <description>Java™ Binding for the OpenGL® API (Atomic Jar files)</description> + <url>http://jogamp.org/jogl/www/</url> + +EOF + +cat jogl.pom.in || exit 1 +cat <<EOF +</project> +EOF diff --git a/maven/make-copy-jars.sh b/maven/make-copy-jars.sh index 482883f..3b52b65 100755 --- a/maven/make-copy-jars.sh +++ b/maven/make-copy-jars.sh @@ -58,6 +58,10 @@ do SRC_ZIP=`echo "${PROJECT_LINE}" | awk -F: '{print $4}'` || exit 1 SRC_ZIP=`echo "${SRC_ZIP}" | tr -d ' '` || exit 1 + # Determine whether or not the project has atomic jars + ATOMICS=`echo "${PROJECT_LINE}" | awk -F: '{print $5}'` || exit 1 + ATOMICS=`echo "${ATOMICS}" | tr -d ' '` || exit 1 + # Copy all native jars, if necessary if [ "${NATIVES}" = "natives" ] then @@ -89,12 +93,27 @@ do fi TARGET="output/${NAME}/${VERSION}/${NAME}-${VERSION}-sources.jar" copy "${SOURCE}" "${TARGET}" - + # Copy dummy jars to 'javadoc' jars, as we # don't publish real versions of these yet. SOURCE="empty.jar" TARGET="output/${NAME}/${VERSION}/${NAME}-${VERSION}-javadoc.jar" copy "${SOURCE}" "${TARGET}" + # Copy atomic jars, if necessary. + if [ "${ATOMICS}" = "atomics" ] + then + for JAR in ${INPUT}/jar/atomic/${NAME}-*.jar + do + JAR_NAME=`basename "${JAR}"` || exit 1 + JAR_NAME=`echo ${JAR_NAME} | sed "s/^${NAME}-//g"` || exit 1 + JAR_NAME="${NAME}-${VERSION}-${JAR_NAME}" + + SOURCE="${JAR}" + TARGET="output/${NAME}/${VERSION}/${JAR_NAME}" + copy "${SOURCE}" "${TARGET}" + done + fi + done diff --git a/maven/make-projects.txt b/maven/make-projects.txt index 20eaa1e..62c269d 100644 --- a/maven/make-projects.txt +++ b/maven/make-projects.txt @@ -1,19 +1,23 @@ # # Lines prefixed with '#' are considered comments and ignored. # -# project-name : has-natives? : use-dummy-jar? : source-jar-name? +# project-name : has-natives? : use-dummy-jar? : source-jar-name? : atomics? # -gluegen-rt : natives : no-dummy-jar : gluegen-java-src.zip -gluegen-rt-main : no-natives : dummy-jar : dummy-src -gluegen-rt-android : no-natives : no-dummy-jar : gluegen-java-src.zip -joal : natives : no-dummy-jar : joal-java-src.zip -joal-main : no-natives : dummy-jar : dummy-src -jocl : natives : no-dummy-jar : jocl-java-src.zip -jocl-main : no-natives : dummy-jar : dummy-src -jogl-all : natives : no-dummy-jar : jogl-java-src.zip -jogl-all-main : no-natives : dummy-jar : dummy-src -jogl-all-mobile : no-natives : no-dummy-jar : jogl-java-src.zip -jogl-all-mobile-main : no-natives : dummy-jar : dummy-src -jogl-all-noawt : no-natives : no-dummy-jar : jogl-java-src.zip -jogl-all-noawt-main : no-natives : dummy-jar : dummy-src -jogl-all-android : no-natives : no-dummy-jar : jogl-java-src.zip +gluegen : no-natives : no-dummy-jar : gluegen-java-src.zip : atomics +gluegen-rt : natives : no-dummy-jar : gluegen-java-src.zip : no-atomics +gluegen-rt-android : no-natives : no-dummy-jar : gluegen-java-src.zip : no-atomics +gluegen-rt-main : no-natives : dummy-jar : dummy-src : no-atomics +joal : natives : no-dummy-jar : joal-java-src.zip : no-atomics +joal-main : no-natives : dummy-jar : dummy-src : no-atomics +jocl : natives : no-dummy-jar : jocl-java-src.zip : no-atomics +jocl-main : no-natives : dummy-jar : dummy-src : no-atomics +jogl : no-natives : dummy-jar : jogl-java-src.zip : atomics +jogl-all : natives : no-dummy-jar : jogl-java-src.zip : no-atomics +jogl-all-android : no-natives : no-dummy-jar : jogl-java-src.zip : no-atomics +jogl-all-main : no-natives : dummy-jar : dummy-src : no-atomics +jogl-all-mobile : no-natives : no-dummy-jar : jogl-java-src.zip : no-atomics +jogl-all-mobile-main : no-natives : dummy-jar : dummy-src : no-atomics +jogl-all-noawt : no-natives : no-dummy-jar : jogl-java-src.zip : no-atomics +jogl-all-noawt-main : no-natives : dummy-jar : dummy-src : no-atomics +nativewindow : no-natives : dummy-jar : dummy-src : atomics +newt : no-natives : dummy-jar : dummy-src : atomics diff --git a/maven/nativewindow.pom.in b/maven/nativewindow.pom.in new file mode 100644 index 0000000..d9d6639 --- /dev/null +++ b/maven/nativewindow.pom.in @@ -0,0 +1,75 @@ + <!-- nativewindow.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</artifactId> + <version>2.4</version> + </extension> + </extensions> + </build> + diff --git a/maven/nativewindow.pom.sh b/maven/nativewindow.pom.sh new file mode 100755 index 0000000..d595a85 --- /dev/null +++ b/maven/nativewindow.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 nativewindow.pom.sh, do not edit directly! --> + <!-- --> + + <modelVersion>4.0.0</modelVersion> + <groupId>org.jogamp.jogl</groupId> + <artifactId>nativewindow</artifactId> + <version>${VERSION}</version> + <packaging>jar</packaging> + <name>JOGL</name> + <description>Java™ Binding for the OpenGL® API (Native window atomic jar files)</description> + <url>http://jogamp.org/jogl/www/</url> + +EOF + +cat nativewindow.pom.in || exit 1 +cat <<EOF +</project> +EOF diff --git a/maven/newt.pom.in b/maven/newt.pom.in new file mode 100644 index 0000000..fb230c9 --- /dev/null +++ b/maven/newt.pom.in @@ -0,0 +1,75 @@ + <!-- newt.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</artifactId> + <version>2.4</version> + </extension> + </extensions> + </build> + diff --git a/maven/newt.pom.sh b/maven/newt.pom.sh new file mode 100755 index 0000000..8b38763 --- /dev/null +++ b/maven/newt.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 newt.pom.sh, do not edit directly! --> + <!-- --> + + <modelVersion>4.0.0</modelVersion> + <groupId>org.jogamp.jogl</groupId> + <artifactId>newt</artifactId> + <version>${VERSION}</version> + <packaging>jar</packaging> + <name>JOGL</name> + <description>Java™ Binding for the OpenGL® API (NEWT atomic jar files)</description> + <url>http://jogamp.org/jogl/www/</url> + +EOF + +cat newt.pom.in || exit 1 +cat <<EOF +</project> +EOF |