incubator-sling-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From cziege...@apache.org
Subject svn commit: r1145965 - in /sling/trunk/maven/maven-launchpad-plugin/src/main/java/org/apache/sling/maven/projectsupport: AbstractUsingBundleListMojo.java PreparePackageMojo.java
Date Wed, 13 Jul 2011 12:12:18 GMT
Author: cziegeler
Date: Wed Jul 13 12:12:18 2011
New Revision: 1145965

URL: http://svn.apache.org/viewvc?rev=1145965&view=rev
Log:
SLING-2134 : Provide a way to add additional properties to sling.properties

Modified:
    sling/trunk/maven/maven-launchpad-plugin/src/main/java/org/apache/sling/maven/projectsupport/AbstractUsingBundleListMojo.java
    sling/trunk/maven/maven-launchpad-plugin/src/main/java/org/apache/sling/maven/projectsupport/PreparePackageMojo.java

Modified: sling/trunk/maven/maven-launchpad-plugin/src/main/java/org/apache/sling/maven/projectsupport/AbstractUsingBundleListMojo.java
URL: http://svn.apache.org/viewvc/sling/trunk/maven/maven-launchpad-plugin/src/main/java/org/apache/sling/maven/projectsupport/AbstractUsingBundleListMojo.java?rev=1145965&r1=1145964&r2=1145965&view=diff
==============================================================================
--- sling/trunk/maven/maven-launchpad-plugin/src/main/java/org/apache/sling/maven/projectsupport/AbstractUsingBundleListMojo.java
(original)
+++ sling/trunk/maven/maven-launchpad-plugin/src/main/java/org/apache/sling/maven/projectsupport/AbstractUsingBundleListMojo.java
Wed Jul 13 12:12:18 2011
@@ -37,6 +37,9 @@ import org.apache.maven.artifact.version
 import org.apache.maven.execution.MavenSession;
 import org.apache.maven.plugin.MojoExecutionException;
 import org.apache.maven.plugin.MojoFailureException;
+import org.apache.maven.shared.filtering.MavenFileFilter;
+import org.apache.maven.shared.filtering.MavenFilteringException;
+import org.apache.maven.shared.filtering.PropertyUtils;
 import org.apache.sling.maven.projectsupport.bundlelist.v1_0_0.BundleList;
 import org.apache.sling.maven.projectsupport.bundlelist.v1_0_0.io.xpp3.BundleListXpp3Reader;
 import org.codehaus.plexus.util.StringUtils;
@@ -59,6 +62,12 @@ public abstract class AbstractUsingBundl
     protected File configDirectory;
 
     /**
+     * @parameter expression="${additionalSlingProps}"
+     *            default-value="src/main/sling/additional.properties"
+     */
+    protected File additionalSlingProps;
+
+    /**
      * JAR Packaging type.
      */
     protected static final String JAR = "jar";
@@ -161,6 +170,11 @@ public abstract class AbstractUsingBundl
      */
     protected MavenSession mavenSession;
 
+    /**
+     * @component
+     */
+    private MavenFileFilter mavenFileFilter;
+
     public final void execute() throws MojoFailureException, MojoExecutionException {
         try {
             initBundleList();
@@ -371,11 +385,23 @@ public abstract class AbstractUsingBundl
         }
     }
 
-    protected File getSlingProperties() {
-        if ( this.configDirectory != null && this.configDirectory.exists() &&
this.configDirectory.isDirectory() ) {
-            final File slingProps = new File(this.configDirectory, "sling.properties");
-            if ( slingProps.exists() && slingProps.isFile() ) {
-                return slingProps;
+    protected Properties getSlingProperties() throws MojoExecutionException {
+        if (this.additionalSlingProps.exists()) {
+            File tmp = null;
+            try {
+                tmp = File.createTempFile("sling", "props");
+                mavenFileFilter.copyFile(this.additionalSlingProps, tmp, true, project, null,
true,
+                        System.getProperty("file.encoding"), mavenSession);
+                final Properties loadedProps = PropertyUtils.loadPropertyFile(tmp, null);
+                return loadedProps;
+            } catch (IOException e) {
+                throw new MojoExecutionException("Unable to create filtered properties file",
e);
+            } catch (MavenFilteringException e) {
+                throw new MojoExecutionException("Unable to create filtered properties file",
e);
+            } finally {
+                if (tmp != null) {
+                    tmp.delete();
+                }
             }
         }
         return null;

Modified: sling/trunk/maven/maven-launchpad-plugin/src/main/java/org/apache/sling/maven/projectsupport/PreparePackageMojo.java
URL: http://svn.apache.org/viewvc/sling/trunk/maven/maven-launchpad-plugin/src/main/java/org/apache/sling/maven/projectsupport/PreparePackageMojo.java?rev=1145965&r1=1145964&r2=1145965&view=diff
==============================================================================
--- sling/trunk/maven/maven-launchpad-plugin/src/main/java/org/apache/sling/maven/projectsupport/PreparePackageMojo.java
(original)
+++ sling/trunk/maven/maven-launchpad-plugin/src/main/java/org/apache/sling/maven/projectsupport/PreparePackageMojo.java
Wed Jul 13 12:12:18 2011
@@ -152,8 +152,8 @@ public class PreparePackageMojo extends 
 				+ "." + artifact.getArtifactHandler().getExtension());
 
 		// check if custom sling.properties file exists
-		final File slingProps = this.getSlingProperties();
-		if ( slingProps != null ) {
+		final Properties additionalProps = this.getSlingProperties();
+		if ( additionalProps != null ) {
     		// unpack to a temp destination
 		    final File dest = new File(this.tempDirectory, "basejar");
 		    try {
@@ -177,27 +177,14 @@ public class PreparePackageMojo extends 
         		    }
         		}
 
-        		// read additional properties
-                final Properties addProps = new Properties();
-                try {
-                    fis = new FileInputStream(slingProps);
-                    addProps.load(fis);
-                } catch (final IOException ioe) {
-                    throw new MojoExecutionException("Unable to read " + slingProps, ioe);
-                } finally {
-                    if ( fis != null ) {
-                        try { fis.close(); } catch (final IOException ignore) {}
-                    }
-                }
-
                 // patch
-                final Enumeration<Object> keys = addProps.keys();
+                final Enumeration<Object> keys = additionalProps.keys();
                 if ( keys.hasMoreElements() ) {
                     getLog().info("Patching sling.properties");
                 }
                 while ( keys.hasMoreElements() ) {
                     final Object key = keys.nextElement();
-                    orig.put(key, addProps.get(key));
+                    orig.put(key, additionalProps.get(key));
                 }
 
                 /// and save



Mime
View raw message