[maven-archetype] 02/03: Patched upstream source code to make archetype-descriptor compatible

Eugenio Cano-Manuel zero123-guest at alioth.debian.org
Fri Sep 6 16:51:34 UTC 2013


This is an automated email from the git hooks/post-receive script.

zero123-guest pushed a commit to branch master
in repository maven-archetype.

commit 64eae7e4d1e37e4c79092e2af14f838c97e8f570
Author: Eugenio Cano-Manuel <eugeniocanom at gmail.com>
Date:   Fri Sep 6 11:14:02 2013 +0200

    Patched upstream source code to make archetype-descriptor compatible
---
 .pc/.quilt_patches                                 |    1 +
 .pc/.quilt_series                                  |    1 +
 .pc/.version                                       |    1 +
 .../archetype/creator/FilesetArchetypeCreator.java |    0
 .../DefaultFilesetArchetypeGenerator.java          |    0
 .pc/applied-patches                                |    1 +
 .../archetype/creator/FilesetArchetypeCreator.java |    6 +-
 .../DefaultFilesetArchetypeGenerator.java          |   10 +++-
 debian/patches/0001-Fix-incompatible-types         |   58 ++++++++++++++++++++
 debian/patches/series                              |    1 +
 10 files changed, 76 insertions(+), 3 deletions(-)

diff --git a/.pc/.quilt_patches b/.pc/.quilt_patches
new file mode 100644
index 0000000..6857a8d
--- /dev/null
+++ b/.pc/.quilt_patches
@@ -0,0 +1 @@
+debian/patches
diff --git a/.pc/.quilt_series b/.pc/.quilt_series
new file mode 100644
index 0000000..c206706
--- /dev/null
+++ b/.pc/.quilt_series
@@ -0,0 +1 @@
+series
diff --git a/.pc/.version b/.pc/.version
new file mode 100644
index 0000000..0cfbf08
--- /dev/null
+++ b/.pc/.version
@@ -0,0 +1 @@
+2
diff --git a/archetype-common/src/main/java/org/apache/maven/archetype/creator/FilesetArchetypeCreator.java b/.pc/0001-Fix-incompatible-types/archetype-common/src/main/java/org/apache/maven/archetype/creator/FilesetArchetypeCreator.java
similarity index 100%
copy from archetype-common/src/main/java/org/apache/maven/archetype/creator/FilesetArchetypeCreator.java
copy to .pc/0001-Fix-incompatible-types/archetype-common/src/main/java/org/apache/maven/archetype/creator/FilesetArchetypeCreator.java
diff --git a/archetype-common/src/main/java/org/apache/maven/archetype/generator/DefaultFilesetArchetypeGenerator.java b/.pc/0001-Fix-incompatible-types/archetype-common/src/main/java/org/apache/maven/archetype/generator/DefaultFilesetArchetypeGenerator.java
similarity index 100%
copy from archetype-common/src/main/java/org/apache/maven/archetype/generator/DefaultFilesetArchetypeGenerator.java
copy to .pc/0001-Fix-incompatible-types/archetype-common/src/main/java/org/apache/maven/archetype/generator/DefaultFilesetArchetypeGenerator.java
diff --git a/.pc/applied-patches b/.pc/applied-patches
new file mode 100644
index 0000000..e5a8d29
--- /dev/null
+++ b/.pc/applied-patches
@@ -0,0 +1 @@
+0001-Fix-incompatible-types
diff --git a/archetype-common/src/main/java/org/apache/maven/archetype/creator/FilesetArchetypeCreator.java b/archetype-common/src/main/java/org/apache/maven/archetype/creator/FilesetArchetypeCreator.java
index 263b9c2..b35b174 100644
--- a/archetype-common/src/main/java/org/apache/maven/archetype/creator/FilesetArchetypeCreator.java
+++ b/archetype-common/src/main/java/org/apache/maven/archetype/creator/FilesetArchetypeCreator.java
@@ -279,7 +279,11 @@ public class FilesetArchetypeCreator
             Properties archetypeProperties = new Properties();
             archetypeProperties.load( in );
 
-            for ( RequiredProperty req : archetypeDescriptor.getRequiredProperties() )
+            List<Object> properties = archetypeDescriptor.getRequiredProperties();
+            @SuppressWarnings("unchecked")
+            List<RequiredProperty> reqProperties = (List) properties;
+
+            for ( RequiredProperty req : reqProperties )
             {
                 archetypeProperties.put( req.getKey(), req.getDefaultValue() );
             }
diff --git a/archetype-common/src/main/java/org/apache/maven/archetype/generator/DefaultFilesetArchetypeGenerator.java b/archetype-common/src/main/java/org/apache/maven/archetype/generator/DefaultFilesetArchetypeGenerator.java
index 7ebe3c8..0ba88d4 100644
--- a/archetype-common/src/main/java/org/apache/maven/archetype/generator/DefaultFilesetArchetypeGenerator.java
+++ b/archetype-common/src/main/java/org/apache/maven/archetype/generator/DefaultFilesetArchetypeGenerator.java
@@ -116,7 +116,10 @@ public class DefaultFilesetArchetypeGenerator
                         + request.getArchetypeVersion() + " is not configured" );
 
                 List<String> missingProperties = new ArrayList<String>( 0 );
-                for ( RequiredProperty requiredProperty : archetypeDescriptor.getRequiredProperties() )
+                List<Object> properties = archetypeDescriptor.getRequiredProperties();
+                @SuppressWarnings("unchecked")
+                List<RequiredProperty> reqProperties = (List) properties;
+                for ( RequiredProperty requiredProperty : reqProperties )
                 {
                     if ( StringUtils.isEmpty( request.getProperties().getProperty( requiredProperty.getKey() ) ) )
                     {
@@ -418,7 +421,10 @@ public class DefaultFilesetArchetypeGenerator
 
     private boolean isArchetypeConfigured( ArchetypeDescriptor archetypeDescriptor, ArchetypeGenerationRequest request )
     {
-        for ( RequiredProperty requiredProperty : archetypeDescriptor.getRequiredProperties() )
+        List<Object> properties = archetypeDescriptor.getRequiredProperties();
+        @SuppressWarnings("unchecked")
+        List<RequiredProperty> reqProperties = (List) properties;
+        for ( RequiredProperty requiredProperty : reqProperties )
         {
             if ( StringUtils.isEmpty( request.getProperties().getProperty( requiredProperty.getKey() ) ) )
             {
diff --git a/debian/patches/0001-Fix-incompatible-types b/debian/patches/0001-Fix-incompatible-types
new file mode 100644
index 0000000..78e0960
--- /dev/null
+++ b/debian/patches/0001-Fix-incompatible-types
@@ -0,0 +1,58 @@
+Description: Fixes an incompatible return type of a method by casting
+ ArchetypeDescriptor::getRequiredProperties() method returns a List<Object>
+ if the artifact archetype-descriptor is compiled using Debian libraries. This
+ patch solves the problem by casting List<Object> into List<RequiredProperty>
+ when archetype-core expects it. The class ArchetypeDescriptor was created
+ using an .mdo file which then uses the modello-plugin to generate .java
+ source files, these .java source files are the ones that contain the
+ erroneous return types.
+ .
+ maven-archetype (2.2-1) UNRELEASED; urgency=low
+ .
+  * Initial release. (Closes: #721982)
+Author: Eugenio Cano-Manuel Mendoza <eugeniocanom at gmail.com>
+Origin: vendor
+Forwarded: not-needed
+Last-Update: 2013-09-05
+
+--- maven-archetype-2.2.orig/archetype-common/src/main/java/org/apache/maven/archetype/generator/DefaultFilesetArchetypeGenerator.java
++++ maven-archetype-2.2/archetype-common/src/main/java/org/apache/maven/archetype/generator/DefaultFilesetArchetypeGenerator.java
+@@ -116,7 +116,10 @@ public class DefaultFilesetArchetypeGene
+                         + request.getArchetypeVersion() + " is not configured" );
+ 
+                 List<String> missingProperties = new ArrayList<String>( 0 );
+-                for ( RequiredProperty requiredProperty : archetypeDescriptor.getRequiredProperties() )
++                List<Object> properties = archetypeDescriptor.getRequiredProperties();
++                @SuppressWarnings("unchecked")
++                List<RequiredProperty> reqProperties = (List) properties;
++                for ( RequiredProperty requiredProperty : reqProperties )
+                 {
+                     if ( StringUtils.isEmpty( request.getProperties().getProperty( requiredProperty.getKey() ) ) )
+                     {
+@@ -418,7 +421,10 @@ public class DefaultFilesetArchetypeGene
+ 
+     private boolean isArchetypeConfigured( ArchetypeDescriptor archetypeDescriptor, ArchetypeGenerationRequest request )
+     {
+-        for ( RequiredProperty requiredProperty : archetypeDescriptor.getRequiredProperties() )
++        List<Object> properties = archetypeDescriptor.getRequiredProperties();
++        @SuppressWarnings("unchecked")
++        List<RequiredProperty> reqProperties = (List) properties;
++        for ( RequiredProperty requiredProperty : reqProperties )
+         {
+             if ( StringUtils.isEmpty( request.getProperties().getProperty( requiredProperty.getKey() ) ) )
+             {
+--- maven-archetype-2.2.orig/archetype-common/src/main/java/org/apache/maven/archetype/creator/FilesetArchetypeCreator.java
++++ maven-archetype-2.2/archetype-common/src/main/java/org/apache/maven/archetype/creator/FilesetArchetypeCreator.java
+@@ -279,7 +279,11 @@ public class FilesetArchetypeCreator
+             Properties archetypeProperties = new Properties();
+             archetypeProperties.load( in );
+ 
+-            for ( RequiredProperty req : archetypeDescriptor.getRequiredProperties() )
++            List<Object> properties = archetypeDescriptor.getRequiredProperties();
++            @SuppressWarnings("unchecked")
++            List<RequiredProperty> reqProperties = (List) properties;
++
++            for ( RequiredProperty req : reqProperties )
+             {
+                 archetypeProperties.put( req.getKey(), req.getDefaultValue() );
+             }
diff --git a/debian/patches/series b/debian/patches/series
new file mode 100644
index 0000000..e5a8d29
--- /dev/null
+++ b/debian/patches/series
@@ -0,0 +1 @@
+0001-Fix-incompatible-types

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-java/maven-archetype.git



More information about the pkg-java-commits mailing list