You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sis.apache.org by de...@apache.org on 2013/08/21 11:50:18 UTC
svn commit: r1516125 - in /sis:
branches/JDK7/application/sis-console/src/main/artifact/
branches/JDK7/core/sis-build-helper/src/main/java/org/apache/sis/internal/maven/
branches/JDK7/core/sis-build-helper/src/site/apt/
branches/JDK7/core/sis-feature/ ...
Author: desruisseaux
Date: Wed Aug 21 09:50:17 2013
New Revision: 1516125
URL: http://svn.apache.org/r1516125
Log:
Improved documentation and added links.
Added:
sis/branches/JDK7/application/sis-console/src/main/artifact/LICENSE (with props)
sis/branches/JDK7/application/sis-console/src/main/artifact/NOTICE (with props)
Modified:
sis/branches/JDK7/core/sis-build-helper/src/main/java/org/apache/sis/internal/maven/Assembler.java
sis/branches/JDK7/core/sis-build-helper/src/main/java/org/apache/sis/internal/maven/BundleCreator.java
sis/branches/JDK7/core/sis-build-helper/src/main/java/org/apache/sis/internal/maven/Filenames.java
sis/branches/JDK7/core/sis-build-helper/src/site/apt/index.apt
sis/branches/JDK7/core/sis-feature/pom.xml
sis/site/trunk/content/release-management.mdtext
Added: sis/branches/JDK7/application/sis-console/src/main/artifact/LICENSE
URL: http://svn.apache.org/viewvc/sis/branches/JDK7/application/sis-console/src/main/artifact/LICENSE?rev=1516125&view=auto
==============================================================================
--- sis/branches/JDK7/application/sis-console/src/main/artifact/LICENSE (added)
+++ sis/branches/JDK7/application/sis-console/src/main/artifact/LICENSE Wed Aug 21 09:50:17 2013
@@ -0,0 +1 @@
+link ../../../../../LICENSE
\ No newline at end of file
Propchange: sis/branches/JDK7/application/sis-console/src/main/artifact/LICENSE
------------------------------------------------------------------------------
svn:special = *
Added: sis/branches/JDK7/application/sis-console/src/main/artifact/NOTICE
URL: http://svn.apache.org/viewvc/sis/branches/JDK7/application/sis-console/src/main/artifact/NOTICE?rev=1516125&view=auto
==============================================================================
--- sis/branches/JDK7/application/sis-console/src/main/artifact/NOTICE (added)
+++ sis/branches/JDK7/application/sis-console/src/main/artifact/NOTICE Wed Aug 21 09:50:17 2013
@@ -0,0 +1 @@
+link ../../../../../NOTICE
\ No newline at end of file
Propchange: sis/branches/JDK7/application/sis-console/src/main/artifact/NOTICE
------------------------------------------------------------------------------
svn:special = *
Modified: sis/branches/JDK7/core/sis-build-helper/src/main/java/org/apache/sis/internal/maven/Assembler.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK7/core/sis-build-helper/src/main/java/org/apache/sis/internal/maven/Assembler.java?rev=1516125&r1=1516124&r2=1516125&view=diff
==============================================================================
--- sis/branches/JDK7/core/sis-build-helper/src/main/java/org/apache/sis/internal/maven/Assembler.java [UTF-8] (original)
+++ sis/branches/JDK7/core/sis-build-helper/src/main/java/org/apache/sis/internal/maven/Assembler.java [UTF-8] Wed Aug 21 09:50:17 2013
@@ -40,8 +40,9 @@ import static org.apache.sis.internal.ma
* Do not forget the <code>--non-recursive</code> option, otherwise the Mojo will be executed many time.
*
* <p><b>Current limitation:</b>
- * The directory to ZIP is hard-coded to <code>application/sis-console/src/main/artifact</code>,
- * and the final name is hard coded to <code>apache-sis-<version>.zip</code> for now.</p>
+ * The current implementation uses some hard-coded paths and filenames.
+ * See the <cite>Distribution file and Pack200 bundle</cite> section in the <code>src/site/apt/index.apt</code>
+ * file for more information.</p>
*
* @author Martin Desruisseaux (Geomatys)
* @since 0.4
Modified: sis/branches/JDK7/core/sis-build-helper/src/main/java/org/apache/sis/internal/maven/BundleCreator.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK7/core/sis-build-helper/src/main/java/org/apache/sis/internal/maven/BundleCreator.java?rev=1516125&r1=1516124&r2=1516125&view=diff
==============================================================================
--- sis/branches/JDK7/core/sis-build-helper/src/main/java/org/apache/sis/internal/maven/BundleCreator.java [UTF-8] (original)
+++ sis/branches/JDK7/core/sis-build-helper/src/main/java/org/apache/sis/internal/maven/BundleCreator.java [UTF-8] Wed Aug 21 09:50:17 2013
@@ -34,7 +34,9 @@ import static org.apache.sis.internal.ma
* Do not forget the <code>--non-recursive</code> option, otherwise the Mojo will be executed many time.
*
* <p><b>Current limitation:</b>
- * The final name is hard coded to <code>apache-sis-<version>.pack.gz</code> for now.</p>
+ * The current implementation uses some hard-coded paths and filenames.
+ * See the <cite>Distribution file and Pack200 bundle</cite> section in the <code>src/site/apt/index.apt</code>
+ * file for more information.</p>
*
* @author Martin Desruisseaux (Geomatys)
* @since 0.3 (derived from geotk-3.00)
Modified: sis/branches/JDK7/core/sis-build-helper/src/main/java/org/apache/sis/internal/maven/Filenames.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK7/core/sis-build-helper/src/main/java/org/apache/sis/internal/maven/Filenames.java?rev=1516125&r1=1516124&r2=1516125&view=diff
==============================================================================
--- sis/branches/JDK7/core/sis-build-helper/src/main/java/org/apache/sis/internal/maven/Filenames.java [UTF-8] (original)
+++ sis/branches/JDK7/core/sis-build-helper/src/main/java/org/apache/sis/internal/maven/Filenames.java [UTF-8] Wed Aug 21 09:50:17 2013
@@ -23,6 +23,10 @@ import java.io.IOException;
/**
* Hard-coded file and directory names used by this package.
*
+ * <p><b>Reminder:</b>
+ * If the above constants are modified, please remind to edit the <cite>Distribution file
+ * and Pack200 bundle</cite> section in the <code>src/site/apt/index.apt</code> file.</p>
+ *
* @author Martin Desruisseaux (Geomatys)
* @since 0.4
* @version 0.4
@@ -30,39 +34,45 @@ import java.io.IOException;
*/
final class Filenames {
/**
- * The target directory.
+ * The target directory. This directory name is hard-coded instead than using a property annotated
+ * by {@code @parameter default-value="${project.build.directory}"} - or alternatively by invoking
+ * {@code MavenProject.getModel().getBuild().getDirectory()}, because we need the target directory
+ * of the project root rather than the directory of the module being built.
*/
static final String TARGET_DIRECTORY = "target";
/**
- * The sub-directory (inside {@code target}) for binaries.
+ * The sub-directory inside {@value #TARGET_DIRECTORY} for binaries.
*/
static final String BINARIES_DIRECTORY = "binaries";
/**
- * The name of the file where to list SIS JAR files and their dependencies
- * on platforms that do not support hard links.
+ * The name of the file inside {@value #BINARIES_DIRECTORY} where to list SIS JAR files and their
+ * dependencies on platforms that do not support hard links.
*/
static final String CONTENT_FILE = "content.txt";
/**
- * The sub-directory (inside {@code target}) containing pack files.
+ * The sub-directory inside {@value #TARGET_DIRECTORY} containing pack files.
* This directory will be automatically created if it does not already exist.
*/
static final String DISTRIBUTION_DIRECTORY = "distribution";
/**
- * The directory to zip for creating the distribution ZIP file.
+ * The path to the directory (relative to the project root) to zip for creating the distribution ZIP file.
*/
static final String ARTIFACT_PATH = "application/sis-console/src/main/artifact";
/**
- * The name of the {@code lib} directory in the artifact.
+ * The name of the sub-directory inside {@value #ARTIFACT_PATH} where the Pack200 file will be located.
+ * Note that we will not write in the real directory, but only in the directory structure which is
+ * reproduced in the ZIP file.
*/
static final String LIB_DIRECTORY = "lib";
/**
- * The big JAR file which will contains everything, without extension.
+ * The name (without extension) of the big JAR file which will contains everything.
+ * This file will be located in the {@value #LIB_DIRECTORY} directory.
*/
static final String FATJAR_FILE = "sis";
Modified: sis/branches/JDK7/core/sis-build-helper/src/site/apt/index.apt
URL: http://svn.apache.org/viewvc/sis/branches/JDK7/core/sis-build-helper/src/site/apt/index.apt?rev=1516125&r1=1516124&r2=1516125&view=diff
==============================================================================
--- sis/branches/JDK7/core/sis-build-helper/src/site/apt/index.apt [UTF-8] (original)
+++ sis/branches/JDK7/core/sis-build-helper/src/site/apt/index.apt [UTF-8] Wed Aug 21 09:50:17 2013
@@ -147,33 +147,54 @@ Building Apache SIS
+-----------------------------------------------------
-* Pack200 bundle
+* Distribution file and Pack200 bundle
- To merges the binaries produced by the above step and compress them using Pack200,
- invoke the following from the command line. Do not forget the <<<--non-recursive>>>
- option, otherwise the Mojo will waste CPU by executing itself many time.
+ The Pack200 bundle is a file with the <<<.pack.gz>>> extension containing all SIS modules except <<<sis-webapp>>>
+ (because Web applications use an other packaging) together with their dependencies.
+ Pack200 files are uncompressed by the <<<unpack200>>> command provided in JDK/JRE installation.
+ However for users convenience, we provide a shell script for uncompressing and launching the SIS
+ command line tool in a single step. That shell script, together with the Pack200 file and other
+ files (<<<README>>>, <<<LICENSE>>>, <etc.>) are bundled in a ZIP file created as below:
+
+-------------------------------------------------------------------
+ mvn org.apache.sis.core:sis-build-helper:dist --non-recursive
+-------------------------------------------------------------------
+
+ Do not forget the <<<--non-recursive>>> option, otherwise the Mojo will waste CPU by executing itself many time.
+ Optionally, the Apache SIS version can be inserted as a 4th element between <<<sis-build-helper:>>> and <<<:dist>>>
+ if there is many versions of the plugin in the local repository.
+
+ The result will be created in the <<<target/distribution/apache-sis-<version>.zip>>> file.
+ To test, uncompress in any directory and execute <<<apache-sis-<version>/bin/sis>>>.
+ The Pack200 file will be automatically uncompressed when first needed.
+
+
+** Generating the Pack200 file alone
+
+ If only the Pack200 file is desired, without the distribution ZIP file,
+ one can use the following command:
-------------------------------------------------------------------
mvn org.apache.sis.core:sis-build-helper:pack --non-recursive
-------------------------------------------------------------------
- The above command should create a <<<target/binaries/sis-\<version\>.pack.gz>>> file.
+ The above command should create a <<<target/distribution/apache-sis-\<version\>.pack.gz>>> file.
To uncompress that file, use the following command:
-----------------------------------------------------------------
- unpack200 --remove-pack-file sis-<version>.pack.gz sis.jar
-----------------------------------------------------------------
+-----------------------------------------------------------------------
+ unpack200 --remove-pack-file apache-sis-<version>.pack.gz sis.jar
+-----------------------------------------------------------------------
The Pack200 bundle does not include the <<<sis-webapp>>> module because the later can be downloaded
as a <<<WAR>>> file from the Maven repository.
-* Distribution file
+** Known limitations
- The distribution file is a ZIP file containing the same Pack200 bundle than above,
- together with a <<<README>>> file, configuration files and convenience shell scripts.
- The distribution file is generated as below:
+ The current plugin implementation has some hard-coded values, especially:
--------------------------------------------------------------------
- mvn org.apache.sis.core:sis-build-helper:dist --non-recursive
--------------------------------------------------------------------
+ * The ZIP file content is copied from the <<<application/sis-console/src/main/artifact>>> directory.
+
+ * The Pack200 file path inside the ZIP file is hard-coded to <<<lib/sis.pack.gz>>>.
+
+ * The final filename is hard-coded to <<<apache-sis-<version>.zip>>>.
Modified: sis/branches/JDK7/core/sis-feature/pom.xml
URL: http://svn.apache.org/viewvc/sis/branches/JDK7/core/sis-feature/pom.xml?rev=1516125&r1=1516124&r2=1516125&view=diff
==============================================================================
--- sis/branches/JDK7/core/sis-feature/pom.xml (original)
+++ sis/branches/JDK7/core/sis-feature/pom.xml Wed Aug 21 09:50:17 2013
@@ -104,6 +104,11 @@ Representations of geographic features.
<artifactId>geoapi-pending</artifactId>
</dependency>
<dependency>
+ <groupId>org.apache.sis.core</groupId>
+ <artifactId>sis-utility</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
<groupId>com.esri.geometry</groupId>
<artifactId>esri-geometry-api</artifactId>
</dependency>
Modified: sis/site/trunk/content/release-management.mdtext
URL: http://svn.apache.org/viewvc/sis/site/trunk/content/release-management.mdtext?rev=1516125&r1=1516124&r2=1516125&view=diff
==============================================================================
--- sis/site/trunk/content/release-management.mdtext [UTF-8] (original)
+++ sis/site/trunk/content/release-management.mdtext [UTF-8] Wed Aug 21 09:50:17 2013
@@ -62,7 +62,7 @@ in this page shall be adjusted according
├─ tags
│ └─ $NEW_VERSION
│ └─ target
- │ └─ bundles
+ │ └─ distributions
├─ distribution
│ └─ $NEW_VERSION
│ └─ RC$RELEASE_CANDIDATE
@@ -249,12 +249,11 @@ Execute an `install` phase first (requir
and generate the binary artifact (`pack.gz` file). The later will fail if duplicated
class files or resources are found. Consequently building the `pack.gz` file is an
additional test worth to do before deployment.
-.
:::bash
cd $TAG_DIR
mvn clean install
- mvn org.apache.sis.core:sis-build-helper:$NEW_VERSION:pack --non-recursive
+ mvn org.apache.sis.core:sis-build-helper:$NEW_VERSION:dist --non-recursive
If the above succeeded, deploy. We temporarily delete the Maven site descriptors (`site.xml`)
for preventing Maven to deploy them, since there is no apparent reason why users would want to
@@ -366,6 +365,7 @@ Move the files generated by Maven to the
:::bash
mv $TAG_DIR/target/sis-$NEW_VERSION-* .
mv $TAG_DIR/target/site/apache-sis-$NEW_VERSION-* .
+ mv $TAG_DIR/target/distribution/apache-sis-$NEW_VERSION.zip .
Rename the files to something more conform to the convention seen in other Apache projects:
@@ -375,23 +375,6 @@ Rename the files to something more confo
-Create the binary artifact {#binary}
----------------------------------------
-
-Create the binary artifact:
-
- :::bash
- cp -r $TAG_DIR/application/sis-console/src/main/artifact apache-sis-$NEW_VERSION
- cd apache-sis-$NEW_VERSION
- cp $TAG_DIR/LICENSE .
- cp $TAG_DIR/NOTICE .
- mv $TAG_DIR/target/bundles/apache-sis-$NEW_VERSION.pack.gz lib/sis.pack.gz
- cd ..
- zip -9 -r apache-sis-$NEW_VERSION-bin.zip apache-sis-$NEW_VERSION
- rm -r apache-sis-$NEW_VERSION
-
-
-
Sign and commit {#sign}
--------------------------