I think you are structuring this all upside down

have a root aggregator pom

have child projects

release all as one in one go

On 2 November 2010 13:16, Leon Rosenberg <[email protected]> wrote:
> Ok, first of all thank you for your time and let me understand what
> the "maven way" means for me in this case:
> I take the project and make 2 out of it, like
> xyz-generators module and
> xyz-generators-test module, as well as
> xyz-runtime module.
>
> Whenever I'm releasing xyz-generators they are actually untested,
> because the test project can only test them after the released
> happened.
> Whenever I'm testing a new generator feature, I have to install
> xyz-generators, switch to xyz-generators-test directory, run mvn
> compile there - right?
> I can not release xyz-generators and xyz-runtime in one package, one
> have to maintain both dependencies.
>
> on the plus side I could, at least theoretically, declare
> xyz-generators dependency as provided. In the practice probably not.
>
> The pluses aren't really outweigh drawbacks, apparently, in _this_
> case, maven makes the life of the developer much harder as it should
> be.
>
> Do I miss any pluses ? :-)
>
> regards
> Leon
>
> On Tue, Nov 2, 2010 at 12:25 PM, Stephen Connolly
> <[email protected]> wrote:
>> You are fighting the "Maven way"
>>
>> Drink the coolaid, split your "two phases" into two projects and you
>> will actually end up with a cleaner project in the first place... and
>> a simpler build process... and it will be doing what you want
>>
>> Maven is opinionated... you have hit a core opinion, either use
>> something else or follow the opinion.
>>
>> I suggest you try following the opinion and see where that takes
>> you... I believe you'll have a cleaner structure that is _easier for
>> others to maintain after you have moved on to projects elsewhere_ as
>> well as easy for you to maintain going forwards
>>
>> -Stephen
>>
>> P.S. Maven aims to make building software easier for everyone working
>> on the project to maintain, not just the person who set up the build
>> process initially... the easiest tools for setting up a build process
>> are not necessariliy the best tools for maintaining a build when the
>> original build engineer moves elsewhere
>>
>> On 2 November 2010 10:22, Leon Rosenberg <[email protected]> wrote:
>>> Sorry, I was not able to answer to this message in the previous three 
>>> days...
>>>
>>> If I understand your replies correctly, I cannot split the compile
>>> phase into two with maven. This sounds pretty ... shitty ;-(
>>>
>>> regards
>>> Leon
>>>
>>> On Fri, Oct 29, 2010 at 11:07 PM, Manfred Moser <[email protected]> 
>>> wrote:
>>>> You could move the code generator and the generated code out to a separate
>>>> project. That will save you build time and solve your problem.
>>>>
>>>> manfred
>>>>
>>>>> Hi,
>>>>>
>>>>> I have following requirement. I have a project, in which I have one
>>>>> source folder which contains a code generator (run with apt), another
>>>>> source folder
>>>>> which contains code, which is processed by the generator from folder
>>>>> 1, and a third folder that relies on the code generated by the second
>>>>> folder.
>>>>> Therefor I need two compilation executions after each other, one for
>>>>> the generator and one for the generated code.
>>>>> Is this possible with maven?
>>>>>
>>>>> thanx in advance
>>>>>
>>>>> My pom file sofar:
>>>>>
>>>>> <project xmlns="http://maven.apache.org/POM/4.0.0";
>>>>> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
>>>>> xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
>>>>> http://maven.apache.org/maven-v4_0_0.xsd";>
>>>>>
>>>>>   <parent>
>>>>>       <groupId>net.anotheria</groupId>
>>>>>       <artifactId>parent</artifactId>
>>>>>       <version>1.1</version>
>>>>>   </parent>
>>>>>
>>>>>   <modelVersion>4.0.0</modelVersion>
>>>>>   <groupId>net.anotheria</groupId>
>>>>>   <artifactId>distributeme</artifactId>
>>>>>   <version>1.0.0-SNAPSHOT</version>
>>>>>   <name>distributeme</name>
>>>>>
>>>>>   <build>
>>>>>       <plugins>
>>>>>                <plugin>
>>>>>         <groupId>org.codehaus.mojo</groupId>
>>>>>         <artifactId>build-helper-maven-plugin</artifactId>
>>>>>         <executions>
>>>>>           <execution>
>>>>>             <id>add-source</id>
>>>>>             <phase>generate-sources</phase>
>>>>>             <goals>
>>>>>               <goal>add-source</goal>
>>>>>             </goals>
>>>>>             <configuration>
>>>>>               <sources>
>>>>>                 <source>${project.basedir}/src/java</source>
>>>>>                 <source>${project.basedir}/src/support</source>
>>>>>                 <source>${project.basedir}/test/java</source>
>>>>>               </sources>
>>>>>             </configuration>
>>>>>           </execution>
>>>>>         </executions>
>>>>>       </plugin>
>>>>>       <plugin>
>>>>>         <groupId>org.codehaus.mojo</groupId>
>>>>>         <artifactId>apt-maven-plugin</artifactId>
>>>>>         <version>1.0-alpha-3</version>
>>>>>         <dependencies>
>>>>>               <dependency>
>>>>>                       <groupId>org.jfrog.maven.annomojo</groupId>
>>>>>                       <artifactId>maven-plugin-tools-anno</artifactId>
>>>>>                       <version>1.3.1</version>
>>>>>                       <exclusions>
>>>>>                               <exclusion>
>>>>>                                       <groupId>com.sun</groupId>
>>>>>                                       <artifactId>tools</artifactId>
>>>>>                               </exclusion>
>>>>>                       </exclusions>
>>>>>               </dependency>
>>>>>               <dependency>
>>>>>                   <groupId>org.codehaus.mojo</groupId>
>>>>>               <artifactId>cobertura-maven-plugin</artifactId>
>>>>>               <version>${cobertura-plugin.version}</version>
>>>>>               </dependency>
>>>>>
>>>>>         </dependencies>
>>>>>       <executions>
>>>>>         <execution>
>>>>>             <id>process</id>
>>>>>               <goals>
>>>>>                  <goal>process</goal>
>>>>>               </goals>
>>>>>               <phase>generate-sources</phase>
>>>>>               <configuration>
>>>>>                       
>>>>> <factory>org.distributeme.processors.GeneratorProcessorFactory</factory>
>>>>>                       <encoding>UTF-8</encoding>
>>>>>                               <verbose>true</verbose>
>>>>>                               
>>>>> <outputDirectory>${project.basedir}/generated/java</outputDirectory>
>>>>>                       </configuration>
>>>>>         </execution>
>>>>>       </executions>
>>>>>       </plugin>
>>>>>     </plugins>
>>>>>   </build>
>>>>>
>>>>>     <reporting>
>>>>>       </reporting>
>>>>>
>>>>>   <dependencies>
>>>>>       <dependency>
>>>>>               <groupId>net.anotheria</groupId>
>>>>>               <artifactId>ano-util</artifactId>
>>>>>               <version>1.0.0</version>
>>>>>       </dependency>
>>>>>       <dependency>
>>>>>               <groupId>net.anotheria</groupId>
>>>>>               <artifactId>ano-net</artifactId>
>>>>>               <version>1.0.0</version>
>>>>>       </dependency>
>>>>>       <dependency>
>>>>>               <groupId>net.anotheria</groupId>
>>>>>               <artifactId>ano-prise</artifactId>
>>>>>               <version>1.0.2</version>
>>>>>       </dependency>
>>>>>       <dependency>
>>>>>               <groupId>net.anotheria</groupId>
>>>>>               <artifactId>configureme</artifactId>
>>>>>               <version>1.0.0</version>
>>>>>       </dependency>
>>>>>       <dependency>
>>>>>       <groupId>javax.servlet</groupId>
>>>>>       <artifactId>servlet-api</artifactId>
>>>>>       <version>2.5</version>
>>>>>       <scope>provided</scope>
>>>>>       </dependency>
>>>>>       <dependency>
>>>>>               <groupId>jdom</groupId>
>>>>>               <artifactId>jdom</artifactId>
>>>>>               <version>0.7</version>
>>>>>       </dependency>
>>>>>       <dependency>
>>>>>               <groupId>com.sun</groupId>
>>>>>               <artifactId>tools</artifactId>
>>>>>               <version>1.6</version>
>>>>>               <scope>provided</scope>
>>>>>       </dependency>
>>>>>
>>>>>   </dependencies>
>>>>>
>>>>>
>>>>>
>>>>>       <scm>
>>>>>               
>>>>> <url>svn:svn://svn.anotheria.net/opensource/distributeme/trunk</url>
>>>>>               
>>>>> <connection>scm:svn:svn://svn.anotheria.net/opensource/distributeme/trunk</connection>
>>>>>               
>>>>> <developerConnection>scm:svn:svn://svn.anotheria.net/opensource/distributeme/trunk</developerConnection>
>>>>>       </scm>
>>>>>
>>>>> </project>
>>>>>
>>>>> ---------------------------------------------------------------------
>>>>> To unsubscribe, e-mail: [email protected]
>>>>> For additional commands, e-mail: [email protected]
>>>>>
>>>>
>>>>
>>>> ---------------------------------------------------------------------
>>>> To unsubscribe, e-mail: [email protected]
>>>> For additional commands, e-mail: [email protected]
>>>>
>>>>
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: [email protected]
>>> For additional commands, e-mail: [email protected]
>>>
>>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: [email protected]
>> For additional commands, e-mail: [email protected]
>>
>>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [email protected]
> For additional commands, e-mail: [email protected]
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to