Showing posts with label maven-resources-plugin. Show all posts
Showing posts with label maven-resources-plugin. Show all posts

Friday, 11 May 2012

Maven: Common Ressourcen ins Projekt kopieren

Maven 3.0.3
maven-dependency-plugin 2.3
maven-resources-plugin 2.5

Händisches kopieren von Ressourcen  aus einem allgemeinen Projekt in ein spezifisches Projekt kann sehr nervig werden, darum hab ich das mal automatisiert. Erster Task ist, das im Repository nur das jar rumliegt, das muß man sich holen und entpacken. Das kann das maven-dependency-plugin für einen erledigen:



 maven-dependency-plugin
 2.3
 
  
   unpack-webapp-commons-resources
   process-resources
   
    unpack
   
   
    
     
      com.xxx.frameworks
      xxx-webapp-commons-resources
      jar
      true
      
       ${project.build.directory}/temp
      
     
    
   
  
 


Danach holt mann sich das Benötigte mit dem maven-resources-plugin aus dem entpackten Projekt und kopiert es an die benötigten Stellen:


 maven-resources-plugin
 2.5
 false
 
  
   copy-cms
   process-resources
   
    copy-resources
   
   
    true
    ${basedir}/src/main/webapp/cms
    
     
      ${basedir}/target/temp/cms
     
    
   
  
  
   copy-css
   process-resources
   
    copy-resources
   
   
    true
    ${basedir}/src/main/webapp/css
    
     
      ${project.build.directory}/temp/css
      
      
       test/bla.css
       test2/include/*.css
      
     
    
   
  
 


Zu beachten ist dann noch, das die kopierten Ressourcen wahrscheinlich ins SCM reinrutschen sollen. Will man um alles wirklich sauber zu machen am Beginn des Builds die alten kopierten Files noch löschen macht man das so: Beitrag zum Löschen von Files in der clean Phase des Maven Builds

Friday, 15 July 2011

maven-resources-plugin über pluginManagement verteilen

Das pluginManagement über parents zu handlen ist eine tolle Sache, man trägt dort gewünschte die Konfiguration ein und in den Kindprojekten gibt man einfach nur das Plugin an und es zieht dort.
Hat bis jetzt gut funktioniert.
Nun habe ich das mit dem maven-resources-plugin versucht und leider zog das Teil in allen Projekten die diesen parent hatten, egal ob es nun im pom eingetragen war oder nicht. Es blieb nichts anderes übrig als die Config im parent zu löschen und in jedem Projekt einzeln hinzuzufügen.

Erkärt habe ich es mir so: Da das maven-resources-plugin vom ganz normalen Lifecyle verwendet wird, ist es irgendwie in jedem pom implizit vorhanden und meine Config im parent zieht somit in jedem Projekt.

Eine andere Lösung als das Plugin in jedem Projekt einzeln zu konfigurieren ist noch nicht gekommen, aber vielleicht weiß ja ein geneigter Leser mehr.

Links:
Mavenseite über das resources Plugin