Btw, I added:

Remove warning when the scope "theme" is add to a dependency  and a "rsl" or 
"caching" scope is already used for this artifact, now the raw validator 
doesn't complain if "groupId:artifactId:type:classifier:scope" pattern is 
unique instead of "groupId:artifactId:type:classifier" as before in the 
FlexMojos Compatible Model Validator.
To avoid this kind of warnings:[WARNING] 
[WARNING] Some problems were encountered while building the effective model for 
com.domain.blabla:application:swf:version
[WARNING] 'dependencies.dependency.(groupId:artifactId:type:classifier)' must 
be unique: com.adobe.flex.framework:spark:swc -> duplicate declaration of 
version ${flex.sdk.version} @ 
com.domain.blabla.builder:swf-builder:1.0-SNAPSHOT, 
C:\Users\me\.m2\repository\path\builder\swf-builder\1.0-SNAPSHOT\swf-builder-1.0-SNAPSHOT.pom,
 line 341, column 21
[WARNING] 
[WARNING] It is highly recommended to fix these problems because they threaten 
the stability of your build.
[WARNING] 
[WARNING] For this reason, future Maven versions might no longer support 
building such malformed projects.
[WARNING] Did I do it right ?Frédéric THOMAS

> From: [email protected]
> To: [email protected]
> Subject: RE: AW: [FlexMojos] Compatible Model Validator
> Date: Tue, 9 Dec 2014 09:58:11 +0000
> 
> Actually, in the way I did it, it doesn't change the behavior of the existing 
> goals, only add a new one with does that copy-dependencies does but add 
> support for Flex stuffs, I've been in depth in order to don't change anything 
> in what they currently do extending internal maven classes as a start, 
> hopping that way, it will be more easily accepted in case that works.
> 
> Frédéric THOMAS
> 
> > From: [email protected]
> > To: [email protected]
> > Subject: AW: [FlexMojos] Compatible Model Validator
> > Date: Tue, 9 Dec 2014 09:45:57 +0000
> > 
> > The maven guys week never accept any change if this sort with an official 
> > maven plugin :-( have given up going that road. They're pretty stubborn 
> > when it comes to changes for non-java projects :-(
> > 
> > Gesendet mit meinem HTC
> > 
> > ----- Reply message -----
> > Von: "Frédéric THOMAS" <[email protected]>
> > An: "[email protected]" <[email protected]>
> > Betreff: [FlexMojos] Compatible Model Validator
> > Datum: Di., Dez. 9, 2014 10:34
> > 
> > last night I started a POC adding a goal to the maven-dependency-plugin and 
> > extending some of the Maven internal classes to try to address that thru 
> > this plugin, my time is limited and still have to implement the integration 
> > tests but in case it works with this plugin, I thing it could with FM, 
> > let's see...
> > 
> > Frédéric THOMAS
> > 
> > > From: [email protected]
> > > To: [email protected]
> > > Subject: AW: [FlexMojos] Compatible Model Validator
> > > Date: Tue, 9 Dec 2014 09:24:14 +0000
> > >
> > > Well in order to address this issue I was planning on automatically 
> > > processing the dependencies in a flex project and to have flexmojos add 
> > > direct rsl scoped deps for transitive dependencies. Should make the copy 
> > > rsl goal work correctly.
> > >
> > > Unfortunately my motivation investing my time in flex is currently at an 
> > > all time low. Perhaps I'll look into this during the Christmas holidays.
> > >
> > > Chris
> > >
> > > Gesendet mit meinem HTC
> > >
> > > ----- Reply message -----
> > > Von: "Frédéric THOMAS" <[email protected]>
> > > An: "[email protected]" <[email protected]>
> > > Betreff: [FlexMojos] Compatible Model Validator
> > > Datum: Mo., Dez. 8, 2014 16:27
> > >
> > > > Unfortunately you will only prevent the warning messages. Still maven 
> > > > won't dresolve the scopes correctly when it comes to transitive 
> > > > dependencies :-( rely shooting would make it necessary do do greater 
> > > > changes in mavens inner workings. But it's still a lot better than to 
> > > > have the errors all the time.
> > > You're right, in more because my "builder" parent pom have their own 
> > > lifecycles, I can't rely on the copy-flex-resources goal to copy RSLs as 
> > > it doesn't resolve (because it can't) the RSLs but check directly in the 
> > > poms, which is very bad when you have parameterized  the merge, caching, 
> > > rsl scopes, it finds only variables, thus, I wrote a groovy script which 
> > > look at the *-configs:xml dependencies and extract the rsls info from the 
> > > them and copy them to the "rsls" dir defined by the user, it seems a lot 
> > > of work but it is not, moreover, at compile time, I ask FM to generate a 
> > > classifier for each environment I need to deploy to but here again FM 
> > > doesn't know how to manage custom classifiers and link-report, configs 
> > > and size-report, so, all in I had to rely on something else, this little 
> > > groovy script for those interested and the Maven conf after:
> > > import groovy.util.XmlSlurper
> > >
> > > import java.nio.file.Files;
> > >
> > > def destinationDirectory = new File(project.properties.rslDestination)
> > >
> > > if (!destinationDirectory.exists())
> > >     destinationDirectory.mkdir()
> > >
> > > project.dependencies.findAll{artifact -> artifact.getClassifier()== 
> > > project.properties.configClassifier && artifact.getType()=='xml'}.each() {
> > >     def artifact = it;
> > >     println "Copying Flex resources for: " + artifact
> > >
> > >     def configFile = new File(settings.localRepository + File.separator +
> > >             artifact.groupId.replace(".", File.separator) + 
> > > File.separator +
> > >             artifact.artifactId + File.separator +
> > >             artifact.version + File.separator +
> > >             artifact.artifactId + "-" + artifact.version + "-" + 
> > > project.properties.configClassifier + "." + artifact.type)
> > >
> > >     def root = new XmlSlurper().parse(configFile)
> > >
> > >     def rslPathNodes = root["runtime-shared-library-path"];
> > >
> > >     rslPathNodes.each() {
> > >         def rslPath = it["path-element"]
> > >         def rslUrl = it["rsl-url"][0]
> > >
> > >         def rslUrlString =  rslUrl.toString()
> > >         def ext = rslUrlString.substring(rslUrlString.lastIndexOf("."));
> > >
> > >         def originRslFile = new File(rslPath.toString().replace(".swc", 
> > > ext));
> > >         def destinationRslFile = new 
> > > File(project.properties.rslDestination + File.separator + 
> > > originRslFile.getName())
> > >
> > >         if (!destinationRslFile.exists()) {
> > >             println "Copying RSL : " + originRslFile.getAbsolutePath() + 
> > > "to : " + destinationRslFile.getAbsolutePath()
> > >             Files.copy(originRslFile.toPath(), 
> > > destinationRslFile.toPath())
> > >         } else println "Skiping RSL copy of : " + 
> > > destinationRslFile.getAbsolutePath() + " [Already exist]"
> > >     }
> > > }
> > >     <plugin>
> > >         <groupId>org.codehaus.gmaven</groupId>
> > >         <artifactId>gmaven-plugin</artifactId>
> > >
> > >         <executions>
> > >             <execution>
> > >                 <id>copy-flex-resources</id>
> > >                 <phase>generate-resources</phase>
> > >                 <goals>
> > >                     <goal>execute</goal>
> > >                 </goals>
> > >                 <configuration>
> > >                     <properties>
> > >                         
> > > <rslDestination>${project.build.outputDirectory}/rsls</rslDestination>
> > >                         
> > > <configClassifier>${build.profile.id}-configs</configClassifier>
> > >                     </properties>
> > >                     <classpath>
> > >                         <element>
> > >                             <groupId>org.codehaus.groovy</groupId>
> > >                             <artifactId>groovy-xml</artifactId>
> > >                             <version>2.1.0-rc-2</version>
> > >                         </element>
> > >                     </classpath>
> > >                     
> > > <source>${pom.basedir}/src/main/script/copyFlexResources.groovy</source>
> > >                 </configuration>
> > >             </execution>
> > >         </executions>
> > >     </plugin>
> > >
> > > <dependencies>
> > >     <dependency>
> > >         <groupId>com.*.blabla</groupId>
> > >         <artifactId>Application</artifactId>
> > >         <version>${Application-version}</version>        
> > > <classifier>${build.profile.id}-configs</classifier>
> > >         <type>xml</type>
> > >     </dependency>
> > >
> > >     <dependency>
> > >         <groupId>com.*blabla</groupId>        
> > > <artifactId>Module</artifactId>
> > >         
> > > <version>${Module-version}</version><classifier>${build.profile.id}-configs</classifier>
> > >         <type>xml</type>
> > >     </dependency>
> > > </dependencies>
> > >
> > > Frédéric THOMAS
> > >
> > > > From: [email protected]
> > > > To: [email protected]
> > > > Subject: AW: [FlexMojos] Compatible Model Validator
> > > > Date: Sat, 6 Dec 2014 21:52:00 +0000
> > > >
> > > > Unfortunately you will only prevent the warning messages. Still maven 
> > > > won't dresolve the scopes correctly when it comes to transitive 
> > > > dependencies :-( rely shooting would make it necessary do do greater 
> > > > changes in mavens inner workings. But it's still a lot better than to 
> > > > have the errors all the time.
> > > >
> > > > Chris
> > > >
> > > > Gesendet mit meinem HTC
> > > >
> > > > ----- Reply message -----
> > > > Von: "Frédéric THOMAS" <[email protected]>
> > > > An: "[email protected]" <[email protected]>
> > > > Betreff: [FlexMojos] Compatible Model Validator
> > > > Datum: Sa., Dez. 6, 2014 15:54
> > > >
> > > > Hi Chris,
> > > >
> > > > Allowing more Maven Scopes is the reason why the extension I created 
> > > > should be install before the build, for other kind of validations, you 
> > > > can still create your extension but no needs to install it before the 
> > > > build, AFAIK you can simply add it inside the build.extensions of your 
> > > > project  parent pom if the extension is an 
> > > > AbstractMavenLifeCycleParticipant and override the public void 
> > > > afterProjectsRead( MavenSession session ) and I guess from here, with 
> > > > the help of the MavenSession [1], you can have access to anything you 
> > > > need to do other kind of validations or even other things.
> > > >
> > > > Or I didn't get well your point :-)
> > > >
> > > > Frédéric THOMAS
> > > >
> > > > [1] 
> > > > http://maven.apache.org/ref/3.2.3/maven-core/apidocs/org/apache/maven/execution/MavenSession.html
> > > >
> > > > > From: [email protected]
> > > > > To: [email protected]
> > > > > Subject: AW: [FlexMojos] Compatible Model Validator
> > > > > Date: Fri, 5 Dec 2014 19:16:59 +0000
> > > > >
> > > > > Well I was thinking of a logic integrated into maven that allows 
> > > > > plugins to contribute validators that he'll validating their own 
> > > > > configuration. Unfortunately this is only possible using a maven 
> > > > > extension (actually exactly the extension point you used). I am and 
> > > > > was getting a lot of support questions which would actually be easy 
> > > > > to validate automatically but are hard to guide humans through ;-)
> > > > >
> > > > > Let's say the logic would go through the plugins in the build and 
> > > > > check each jar for validator logic an use this it found and have them 
> > > > > validate their own configuration.
> > > > >
> > > > > Hope this explains what I was thinking of.
> > > > >
> > > > > Chris
> > > > >
> > > > > Gesendet mit meinem HTC
> > > > >
> > > > > ----- Reply message -----
> > > > > Von: "Frédéric THOMAS" <[email protected]>
> > > > > An: "[email protected]" <[email protected]>
> > > > > Betreff: [FlexMojos] Compatible Model Validator
> > > > > Datum: Fr., Dez. 5, 2014 18:33
> > > > >
> > > > > Hum.. Not sure I understand totally, you want to add an extension to 
> > > > > FlexMojos as a module and that extension could be extended to add 
> > > > > features like rules and suggestions regarding the plugin 
> > > > > configuration ?
> > > > >
> > > > > Frédéric THOMAS
> > > > >
> > > > > > From: [email protected]
> > > > > > To: [email protected]
> > > > > > Subject: AW: [FlexMojos] Compatible Model Validator
> > > > > > Date: Fri, 5 Dec 2014 16:27:54 +0000
> > > > > >
> > > > > > Eventually a modular solution would be a good idea. One that can be 
> > > > > > extended with rules and suggestions regarding the plugin 
> > > > > > configuration. If for example someone uses deprecated config 
> > > > > > options or invalid ones, if someone uses bad practices etc.
> > > > > >
> > > > > > Chris
> > > > > >
> > > > > > Gesendet mit meinem HTC
> > > > > >
> > > > > > ----- Reply message -----
> > > > > > Von: "Frédéric THOMAS" <[email protected]>
> > > > > > An: "[email protected]" <[email protected]>
> > > > > > Betreff: [FlexMojos] Compatible Model Validator
> > > > > > Datum: Fr., Dez. 5, 2014 16:03
> > > > > >
> > > > > > I mean, adding the extension as a new module and add a goal to 
> > > > > > install the extension, what do you think ?
> > > > > >
> > > > > > Frédéric THOMAS
> > > > > >
> > > > > > From: [email protected]
> > > > > > To: [email protected]
> > > > > > Subject: RE: AW: [FlexMojos] Compatible Model Validator
> > > > > > Date: Fri, 5 Dec 2014 15:01:06 +0000
> > > > > >
> > > > > >
> > > > > >
> > > > > >
> > > > > > Could be a new goal ?
> > > > > >
> > > > > > Frédéric THOMAS
> > > > > >
> > > > > > > From: [email protected]
> > > > > > > To: [email protected]
> > > > > > > Subject: AW: [FlexMojos] Compatible Model Validator
> > > > > > > Date: Fri, 5 Dec 2014 14:54:37 +0000
> > > > > > >
> > > > > > > Well I was more thinking of adding a module to flexmojos in order 
> > > > > > > to release the lib. Copying would have to remain a manual task as 
> > > > > > > I don't want to modify the maven installation.
> > > > > > >
> > > > > > > Chris
> > > > > > >
> > > > > > > Gesendet mit meinem HTC
> > > > > > >
> > > > > > > ----- Reply message -----
> > > > > > > Von: "Frédéric THOMAS" <[email protected]>
> > > > > > > An: "[email protected]" <[email protected]>
> > > > > > > Betreff: [FlexMojos] Compatible Model Validator
> > > > > > > Datum: Fr., Dez. 5, 2014 13:50
> > > > > > >
> > > > > > > Hi Chris,
> > > > > > > > I assume this is a maven extension which you have to deploy to 
> > > > > > > > your maven extension directory
> > > > > > > yes it is even though, I provided a profile to auto install it [1]
> > > > > > > > I remember discussing something like this with cello a few 
> > > > > > > > years ago but he deleted my posts on this topic and refused to 
> > > > > > > > add that to flexmojos.
> > > > > > > It happened to me as well and he even kicked me out of the group, 
> > > > > > > bloody Velo :-)
> > > > > > > > Nave now there's a way to add that as an additional module? But 
> > > > > > > > only if you're interested in this.
> > > > > > > Well I wouldn't how to do except that the plugin could copy the 
> > > > > > > deployed extension into the lib/ext folder as done in Wagon maven 
> > > > > > > plugin [2]
> > > > > > > Any better ideas?
> > > > > > >
> > > > > > > Frédéric THOMAS
> > > > > > > [1]<profile>
> > > > > > >     <id>prepare-maven-extended-libs</id>
> > > > > > >     <activation>
> > > > > > >         <file>
> > > > > > >             
> > > > > > > <missing>${env.MAVEN_HOME}/lib/ext/flexmojos-compatible-model-validator.jar</missing>
> > > > > > >         </file>
> > > > > > >     </activation>
> > > > > > >     <build>
> > > > > > >         <plugins>
> > > > > > >             <plugin>
> > > > > > >                 <groupId>org.apache.maven.plugins</groupId>
> > > > > > >                 <artifactId>maven-dependency-plugin</artifactId>
> > > > > > >                 <version>2.8</version>
> > > > > > >                 <executions>
> > > > > > >                     <execution>
> > > > > > >                         <id>copy</id>
> > > > > > >                         <phase>validate</phase>
> > > > > > >                         <goals>
> > > > > > >                             <goal>copy</goal>
> > > > > > >                         </goals>
> > > > > > >                         <configuration>
> > > > > > >                             <artifactItems>
> > > > > > >                                 <artifactItem>
> > > > > > >                                     
> > > > > > > <groupId>com.doublefx.maven.utils.flexmojos</groupId>
> > > > > > >                                     
> > > > > > > <artifactId>flexmojos-compatible-model-validator</artifactId>
> > > > > > >                                     
> > > > > > > <version>1.0.0-SNAPSHOT</version>
> > > > > > >                                     <type>jar</type>
> > > > > > >                                     <overWrite>true</overWrite>
> > > > > > >                                     
> > > > > > > <outputDirectory>${env.MAVEN_HOME}/lib/ext</outputDirectory>
> > > > > > >                                     
> > > > > > > <destFileName>flexmojos-compatible-model-validator.jar</destFileName>
> > > > > > >                                 </artifactItem>
> > > > > > >                             </artifactItems>
> > > > > > >                             
> > > > > > > <overWriteReleases>true</overWriteReleases>
> > > > > > >                             
> > > > > > > <overWriteSnapshots>true</overWriteSnapshots>
> > > > > > >                         </configuration>
> > > > > > >                     </execution>
> > > > > > >                 </executions>
> > > > > > >             </plugin>
> > > > > > >             <plugin>
> > > > > > >                 <groupId>org.codehaus.gmaven</groupId>
> > > > > > >                 <artifactId>gmaven-plugin</artifactId>
> > > > > > >                 <version>1.4</version>
> > > > > > >                 <executions>
> > > > > > >                     <execution>
> > > > > > >                         <phase>validate</phase>
> > > > > > >                         <goals>
> > > > > > >                             <goal>execute</goal>
> > > > > > >                         </goals>
> > > > > > >                     </execution>
> > > > > > >                 </executions>
> > > > > > >                 <configuration>
> > > > > > >                     <source>
> > > > > > >                         fail("FlexMojos Compatible Model 
> > > > > > > Validator extension is now configured. Please restart the build, 
> > > > > > > and then it will be successful.")
> > > > > > >                     </source>
> > > > > > >                 </configuration>
> > > > > > >             </plugin>
> > > > > > >         </plugins>
> > > > > > >     </build>
> > > > > > > </profile>
> > > > > > >
> > > > > > > [2] 
> > > > > > > http://svn.codehaus.org/mojo/tags/wagon-maven-plugin-1.0-beta-5/src/main/java/org/codehaus/mojo/wagon/UpdateMaven3Mojo.java
> > > > > > > > From: [email protected]
> > > > > > > > To: [email protected]
> > > > > > > > Subject: AW: [FlexMojos] Compatible Model Validator
> > > > > > > > Date: Fri, 5 Dec 2014 11:51:34 +0000
> > > > > > > >
> > > > > > > > Cool Stuff.
> > > > > > > >
> > > > > > > > Will definitely look into this. But I assume this is a maven 
> > > > > > > > extension which you have to deploy to your maven extension 
> > > > > > > > directory, our was there a maven change that allows this as a 
> > > > > > > > plugin?
> > > > > > > >
> > > > > > > > I remember discussing something like this with cello a few 
> > > > > > > > years ago but he deleted my posts on this topic and refused to 
> > > > > > > > add that to flexmojos.
> > > > > > > >
> > > > > > > > Nave now there's a way to add that as an additional module? But 
> > > > > > > > only if you're interested in this.
> > > > > > > >
> > > > > > > > Chris
> > > > > > > >
> > > > > > > > Gesendet mit meinem HTC
> > > > > > > >
> > > > > > > > ----- Reply message -----
> > > > > > > > Von: "Frédéric THOMAS" <[email protected]>
> > > > > > > > An: "[email protected]" <[email protected]>
> > > > > > > > Betreff: [FlexMojos] Compatible Model Validator
> > > > > > > > Datum: Fr., Dez. 5, 2014 12:41
> > > > > > > >
> > > > > > > > Hi,
> > > > > > > > For those interested I created and shared a Maven extension to 
> > > > > > > > get rid of the Maven warnings regarding the custom scopes [1].
> > > > > > > > Frédéric THOMAS
> > > > > > > > [1] 
> > > > > > > > https://github.com/doublefx/flexmojos-compatible-model-validator
> > > > > > >
> > > > > >
> > > > >
> > > >
> > >
> > 
>                                         
                                          

Reply via email to