From 94ae08701bbd7585a0b7e5a92d1975965a503c03 Mon Sep 17 00:00:00 2001
From: Dennis Kao <ulysseskao@gmail.com>
Date: Wed, 15 Jan 2014 11:28:52 +0800
Subject: [PATCH] Merge branch 'origin/2.1.x'

---
 xdgnjobs/ximple-build/maven/jar-collector/src/main/java/com/ximple/eofms/maven/JarCollector.java |   62 ++++++++++--------------------
 1 files changed, 21 insertions(+), 41 deletions(-)

diff --git a/xdgnjobs/ximple-build/maven/jar-collector/src/main/java/com/ximple/eofms/maven/JarCollector.java b/xdgnjobs/ximple-build/maven/jar-collector/src/main/java/com/ximple/eofms/maven/JarCollector.java
index ecd6b30..978a987 100644
--- a/xdgnjobs/ximple-build/maven/jar-collector/src/main/java/com/ximple/eofms/maven/JarCollector.java
+++ b/xdgnjobs/ximple-build/maven/jar-collector/src/main/java/com/ximple/eofms/maven/JarCollector.java
@@ -55,14 +55,6 @@
     private String jarName;
 
     /**
-     * Project dependencies.
-     *
-     * @parameter expression="${project.artifacts}"
-     * @required
-     */
-    private Set /*<Artifact>*/ dependencies;
-
-    /**
      * The Maven project running this plugin.
      *
      * @parameter expression="${project}"
@@ -80,13 +72,10 @@
          * Gets the parent "target" directory.
          */
         MavenProject parent = project;
-
         while (parent.hasParent()) {
             parent = parent.getParent();
         }
-
         collectDirectory = parent.getBuild().getDirectory();
-
         /*
          * Now collects the JARs.
          */
@@ -106,22 +95,18 @@
          * such file. Some modules use pom packaging, which do not produce any JAR file.
          */
         final File jarFile = new File(outputDirectory, jarName + ".jar");
-
         if (!jarFile.isFile()) {
             return;
         }
-
         /*
          * Get the "target" directory of the parent pom.xml and make sure it exists.
          */
         File collect = new File(collectDirectory);
-
         if (!collect.exists()) {
             if (!collect.mkdir()) {
-                throw new MojoExecutionException("Failed to create target directory.");
+                throw new MojoExecutionException("Failed to create target directory: " + collect.getAbsolutePath());
             }
         }
-
         if (collect.getCanonicalFile().equals(jarFile.getParentFile().getCanonicalFile())) {
             /*
              * The parent's directory is the same one than this module's directory.
@@ -131,47 +116,42 @@
              */
             return;
         }
-
         /*
          * Creates a "binaries" subdirectory inside the "target" directory.
          */
         collect = new File(collect, SUB_DIRECTORY);
-
         if (!collect.exists()) {
             if (!collect.mkdir()) {
                 throw new MojoExecutionException("Failed to create binaries directory.");
             }
         }
-
-        int count = 1;
         FileUtils.copyFileToDirectory(jarFile, collect);
-
+		Set<Artifact> dependencies = project.getDependencyArtifacts();
         if (dependencies != null) {
-            for (final Iterator it = dependencies.iterator(); it.hasNext();) {
-                final Artifact artifact = (Artifact) it.next();
+            for (final Artifact artifact : dependencies) {
+				System.out.println("+++++++++++++++++++++++ DEP: " + artifact.getDependencyTrail());
                 final String scope = artifact.getScope();
-
-                if ((scope != null) // Maven 2.0.6 bug?
-                        && (scope.equalsIgnoreCase(Artifact.SCOPE_COMPILE)
-                        || scope.equalsIgnoreCase(Artifact.SCOPE_RUNTIME))) {
+                if (scope != null &&  // Maven 2.0.6 bug?
+                   (scope.equalsIgnoreCase(Artifact.SCOPE_COMPILE) ||
+                    scope.equalsIgnoreCase(Artifact.SCOPE_RUNTIME)))
+                {
                     final File file = artifact.getFile();
-                    final File copy = new File(collect, file.getName());
-
-                    if (!copy.exists()) {
-                        /*
-                         * Copies the dependency only if it was not already copied. Note that
-                         * the module's JAR was copied inconditionnaly above (because it may
-                         * be the result of a new compilation). If a Geotools JAR from the
-                         * dependencies list changed, it will be copied inconditionnaly when
-                         * the module for this JAR will be processed by Maven.
-                         */
-                        FileUtils.copyFileToDirectory(file, collect);
-                        count++;
+                    if (!artifact.getGroupId().startsWith("com.ximple.eofms")) {
+                        final File copy = new File(collect, file.getName());
+                        if (copy.exists()) {
+                            /*
+                             * Copies the dependency only if it was not already copied. Note that
+                             * the module's JAR was copied inconditionnaly above (because it may
+                             * be the result of a new compilation). If a Geotools JAR from the
+                             * dependencies list changed, it will be copied inconditionnaly when
+                             * the module for this JAR will be processed by Maven.
+                             */
+                            continue;
+                        }
                     }
+                    FileUtils.copyFileToDirectory(file, collect);
                 }
             }
         }
-
-        getLog().info("Copied " + count + " JAR to parent directory.");
     }
 }

--
Gitblit v0.0.0-SNAPSHOT