Henrik Bernström Vor 14 Jahren Kudos, Mika! Kudos, Liferay! Melden Sie sich an, um auf diesen Beitrag zu antworten. Antworten als... Abbrechen
Jeffrey Handa Vor 14 Jahren Thanks Mika! Great explanation. Melden Sie sich an, um auf diesen Beitrag zu antworten. Antworten als... Abbrechen
Tomas Polesovsky Vor 14 Jahren Thank you Mika,yes, yes, yes!!! I was waiting for news at http://www.liferay.com/web/guest/community/forums/-/message_boards/message/2527014, but this information is perfect!Dreams finally come true! Melden Sie sich an, um auf diesen Beitrag zu antworten. Antworten als... Abbrechen
Lukas Matejka Vor 14 Jahren Great work! thanks, we can finally mavenize all our Liferay stuff Melden Sie sich an, um auf diesen Beitrag zu antworten. Antworten als... Abbrechen
Jonas Yuan Vor 14 Jahren Great! Liferay goes Maven ... Thank you, Mika. Melden Sie sich an, um auf diesen Beitrag zu antworten. Antworten als... Abbrechen
Neil Griffin Vor 14 Jahren Mika, you da man! Melden Sie sich an, um auf diesen Beitrag zu antworten. Antworten als... Abbrechen
Sampsa Sohlman Vor 14 Jahren Kiitos Mika, this is what the community has been waiting for. I did modify http://wiki.github.com/azzazzel/liferay-maven-sdk plugin to work with EE.Future support for new Extlet would be good also .. then Liferay customization will be totally mavenized. Melden Sie sich an, um auf diesen Beitrag zu antworten. Antworten als... Abbrechen
Thiago Leão Moreira Vor 14 Jahren Great post! So good explained!Thanks Mika! Melden Sie sich an, um auf diesen Beitrag zu antworten. Antworten als... Abbrechen
Behrang Saeedzadeh Vor 14 Jahren The public SVN repo seems to be down. It cannot be access it via http://svn.liferay.com/repos/public Melden Sie sich an, um auf diesen Beitrag zu antworten. Antworten als... Abbrechen Mika Koivisto Behrang Saeedzadeh Vor 14 Jahren It is up now. Was down for maintenance work. Melden Sie sich an, um auf diesen Beitrag zu antworten. Antworten als... Abbrechen Behrang Saeedzadeh Mika Koivisto Vor 14 Jahren Thank you Mika! Melden Sie sich an, um auf diesen Beitrag zu antworten. Antworten als... Abbrechen Brian Ko Mika Koivisto Vor 13 Jahren Hi Mika,In step 4, I need to install the Liferay maven plugins and archetypes go into support-maven folder and run "mvn install".But where is the folder? Is it created by one of those 3 ant command before step 4? Thank you.Brian Melden Sie sich an, um auf diesen Beitrag zu antworten. Antworten als... Abbrechen Louis Sacco Brian Ko Vor 13 Jahren There's no doubt this certainly is going in the right directio, but suppose you create any type of plugin and you check your code into SVN which will trigger a CI build on your build servers. These build servers will not have any knowledge of Liferay dependencies nor will they allow us to install Liferay on the servers to satisfy those dependencies (if you were to use ANT). This is where Maven comes into the picture nicely. The idea would be that I could create a POM file for my plugin and define a set of dependencies that Liferay maintains in their Maven repository. Some attention would be needed to define which dependencies would be for EE customers too. From there, our build server would build based on the POM and pull down the Maven dependencies to satisfy the requirements for a successful build. Finally, we could then deploy the resulting build artifact (Liferay plugin WAR) to our internal Maven repository for our INFRA team to deploy to the various environments we have. As per Maven’s design we could deploy as a SNAPSHOT build for our DEV/TEST environment and then a Release build with a release number for PROD deployments. As an example, a POM may define a Liferay dependency as follows like you show above: <dependencies> <dependency> <groupId>com.liferay</groupId> <artifactId>portal-service</artifactId> <version>6.0.5</version> </dependency> ... </dependencies>We would then define a repository for the Liferay dependencies where we could retrieve this dependency: <repository> <id>Liferay</id> <name>Liferay Repsitory</name> <url>http://repository.liferay.com/maven2</url> </repository>Finally, in your repository, you could establish the transitive dependencies you require (i.e., the ones needed to compile your jar) in your .pom file that will be hosted in the repository so that when someone pulls the Liferay jar it will also pull those dependencies as well. As an example, see the Spring pom from Maven repo that illustrates how they require commons-logging, commons-collections and others. This way you will always have full control of which dependencies you want the customer to use with your JAR so they don’t go and muck things up by using an obsolete version.I really look forward to seeing Liferay provide Maven dependencies for EE customers as well in a future release. Melden Sie sich an, um auf diesen Beitrag zu antworten. Antworten als... Abbrechen
Mika Koivisto Behrang Saeedzadeh Vor 14 Jahren It is up now. Was down for maintenance work. Melden Sie sich an, um auf diesen Beitrag zu antworten. Antworten als... Abbrechen Behrang Saeedzadeh Mika Koivisto Vor 14 Jahren Thank you Mika! Melden Sie sich an, um auf diesen Beitrag zu antworten. Antworten als... Abbrechen Brian Ko Mika Koivisto Vor 13 Jahren Hi Mika,In step 4, I need to install the Liferay maven plugins and archetypes go into support-maven folder and run "mvn install".But where is the folder? Is it created by one of those 3 ant command before step 4? Thank you.Brian Melden Sie sich an, um auf diesen Beitrag zu antworten. Antworten als... Abbrechen Louis Sacco Brian Ko Vor 13 Jahren There's no doubt this certainly is going in the right directio, but suppose you create any type of plugin and you check your code into SVN which will trigger a CI build on your build servers. These build servers will not have any knowledge of Liferay dependencies nor will they allow us to install Liferay on the servers to satisfy those dependencies (if you were to use ANT). This is where Maven comes into the picture nicely. The idea would be that I could create a POM file for my plugin and define a set of dependencies that Liferay maintains in their Maven repository. Some attention would be needed to define which dependencies would be for EE customers too. From there, our build server would build based on the POM and pull down the Maven dependencies to satisfy the requirements for a successful build. Finally, we could then deploy the resulting build artifact (Liferay plugin WAR) to our internal Maven repository for our INFRA team to deploy to the various environments we have. As per Maven’s design we could deploy as a SNAPSHOT build for our DEV/TEST environment and then a Release build with a release number for PROD deployments. As an example, a POM may define a Liferay dependency as follows like you show above: <dependencies> <dependency> <groupId>com.liferay</groupId> <artifactId>portal-service</artifactId> <version>6.0.5</version> </dependency> ... </dependencies>We would then define a repository for the Liferay dependencies where we could retrieve this dependency: <repository> <id>Liferay</id> <name>Liferay Repsitory</name> <url>http://repository.liferay.com/maven2</url> </repository>Finally, in your repository, you could establish the transitive dependencies you require (i.e., the ones needed to compile your jar) in your .pom file that will be hosted in the repository so that when someone pulls the Liferay jar it will also pull those dependencies as well. As an example, see the Spring pom from Maven repo that illustrates how they require commons-logging, commons-collections and others. This way you will always have full control of which dependencies you want the customer to use with your JAR so they don’t go and muck things up by using an obsolete version.I really look forward to seeing Liferay provide Maven dependencies for EE customers as well in a future release. Melden Sie sich an, um auf diesen Beitrag zu antworten. Antworten als... Abbrechen
Behrang Saeedzadeh Mika Koivisto Vor 14 Jahren Thank you Mika! Melden Sie sich an, um auf diesen Beitrag zu antworten. Antworten als... Abbrechen
Brian Ko Mika Koivisto Vor 13 Jahren Hi Mika,In step 4, I need to install the Liferay maven plugins and archetypes go into support-maven folder and run "mvn install".But where is the folder? Is it created by one of those 3 ant command before step 4? Thank you.Brian Melden Sie sich an, um auf diesen Beitrag zu antworten. Antworten als... Abbrechen Louis Sacco Brian Ko Vor 13 Jahren There's no doubt this certainly is going in the right directio, but suppose you create any type of plugin and you check your code into SVN which will trigger a CI build on your build servers. These build servers will not have any knowledge of Liferay dependencies nor will they allow us to install Liferay on the servers to satisfy those dependencies (if you were to use ANT). This is where Maven comes into the picture nicely. The idea would be that I could create a POM file for my plugin and define a set of dependencies that Liferay maintains in their Maven repository. Some attention would be needed to define which dependencies would be for EE customers too. From there, our build server would build based on the POM and pull down the Maven dependencies to satisfy the requirements for a successful build. Finally, we could then deploy the resulting build artifact (Liferay plugin WAR) to our internal Maven repository for our INFRA team to deploy to the various environments we have. As per Maven’s design we could deploy as a SNAPSHOT build for our DEV/TEST environment and then a Release build with a release number for PROD deployments. As an example, a POM may define a Liferay dependency as follows like you show above: <dependencies> <dependency> <groupId>com.liferay</groupId> <artifactId>portal-service</artifactId> <version>6.0.5</version> </dependency> ... </dependencies>We would then define a repository for the Liferay dependencies where we could retrieve this dependency: <repository> <id>Liferay</id> <name>Liferay Repsitory</name> <url>http://repository.liferay.com/maven2</url> </repository>Finally, in your repository, you could establish the transitive dependencies you require (i.e., the ones needed to compile your jar) in your .pom file that will be hosted in the repository so that when someone pulls the Liferay jar it will also pull those dependencies as well. As an example, see the Spring pom from Maven repo that illustrates how they require commons-logging, commons-collections and others. This way you will always have full control of which dependencies you want the customer to use with your JAR so they don’t go and muck things up by using an obsolete version.I really look forward to seeing Liferay provide Maven dependencies for EE customers as well in a future release. Melden Sie sich an, um auf diesen Beitrag zu antworten. Antworten als... Abbrechen
Louis Sacco Brian Ko Vor 13 Jahren There's no doubt this certainly is going in the right directio, but suppose you create any type of plugin and you check your code into SVN which will trigger a CI build on your build servers. These build servers will not have any knowledge of Liferay dependencies nor will they allow us to install Liferay on the servers to satisfy those dependencies (if you were to use ANT). This is where Maven comes into the picture nicely. The idea would be that I could create a POM file for my plugin and define a set of dependencies that Liferay maintains in their Maven repository. Some attention would be needed to define which dependencies would be for EE customers too. From there, our build server would build based on the POM and pull down the Maven dependencies to satisfy the requirements for a successful build. Finally, we could then deploy the resulting build artifact (Liferay plugin WAR) to our internal Maven repository for our INFRA team to deploy to the various environments we have. As per Maven’s design we could deploy as a SNAPSHOT build for our DEV/TEST environment and then a Release build with a release number for PROD deployments. As an example, a POM may define a Liferay dependency as follows like you show above: <dependencies> <dependency> <groupId>com.liferay</groupId> <artifactId>portal-service</artifactId> <version>6.0.5</version> </dependency> ... </dependencies>We would then define a repository for the Liferay dependencies where we could retrieve this dependency: <repository> <id>Liferay</id> <name>Liferay Repsitory</name> <url>http://repository.liferay.com/maven2</url> </repository>Finally, in your repository, you could establish the transitive dependencies you require (i.e., the ones needed to compile your jar) in your .pom file that will be hosted in the repository so that when someone pulls the Liferay jar it will also pull those dependencies as well. As an example, see the Spring pom from Maven repo that illustrates how they require commons-logging, commons-collections and others. This way you will always have full control of which dependencies you want the customer to use with your JAR so they don’t go and muck things up by using an obsolete version.I really look forward to seeing Liferay provide Maven dependencies for EE customers as well in a future release. Melden Sie sich an, um auf diesen Beitrag zu antworten. Antworten als... Abbrechen
Wayne Lund Vor 14 Jahren Is there a wiki page on this that we can edit now. I've been working through the blog but had a number of issues come up. got down to step #5 but have not been able to successfully deploy yet with maven. I got errors in the mvn archetype:generate that are hanging me up. Melden Sie sich an, um auf diesen Beitrag zu antworten. Antworten als... Abbrechen Mika Koivisto Wayne Lund Vor 14 Jahren If you have problems you can post to the message boards for help. Melden Sie sich an, um auf diesen Beitrag zu antworten. Antworten als... Abbrechen
Mika Koivisto Wayne Lund Vor 14 Jahren If you have problems you can post to the message boards for help. Melden Sie sich an, um auf diesen Beitrag zu antworten. Antworten als... Abbrechen
Sven Ehlert Vor 14 Jahren Thanks for the work, this is a first step for proper Maven support. I just checked the daily build, and the generated Liferay POMs are incomplete - internal portal dependencies are included, but all non-Liferay dependencies are missing. Will this be fixed before 6.0 GA? Melden Sie sich an, um auf diesen Beitrag zu antworten. Antworten als... Abbrechen Mika Koivisto Sven Ehlert Vor 14 Jahren Liferay artifacts are provided so that you can develop agains Liferay APIs and this should not require any non-Liferay libraries. If you are referring to portal-impl that is ONLY meant for maven plugins like ServiceBuilder plugin and that plugin will declare itself what it needs. Since we are not building Liferay with maven we won't do double maintenance on the dependencies as those are already mentioned in versions.xml and no one really should use portal-impl in their application anyway. If there is anything else that is actually needed and is missing let me know and I'll fix it. Melden Sie sich an, um auf diesen Beitrag zu antworten. Antworten als... Abbrechen Sven Ehlert Mika Koivisto Vor 14 Jahren Mika, thanks for the clarification. I can see why you don't want to do double dependency maintenance. However, what would indeed help developers if you could extend the build-maven.xml to build both the code jars and the java-source jars. The steps to create a source-jar are quite easy. First, create a jar with the plain source, then do something like this:mvn deploy:deploy-file -DgroupId=$GROUP_ID -DartifactId=$dir -Dversion=$VERSION -Dpackaging=java-source -Dfile=$dir/$dir-sources.jar -DrepositoryId=$REPOSITORY_ID -Durl=$URLThanks! Melden Sie sich an, um auf diesen Beitrag zu antworten. Antworten als... Abbrechen
Mika Koivisto Sven Ehlert Vor 14 Jahren Liferay artifacts are provided so that you can develop agains Liferay APIs and this should not require any non-Liferay libraries. If you are referring to portal-impl that is ONLY meant for maven plugins like ServiceBuilder plugin and that plugin will declare itself what it needs. Since we are not building Liferay with maven we won't do double maintenance on the dependencies as those are already mentioned in versions.xml and no one really should use portal-impl in their application anyway. If there is anything else that is actually needed and is missing let me know and I'll fix it. Melden Sie sich an, um auf diesen Beitrag zu antworten. Antworten als... Abbrechen Sven Ehlert Mika Koivisto Vor 14 Jahren Mika, thanks for the clarification. I can see why you don't want to do double dependency maintenance. However, what would indeed help developers if you could extend the build-maven.xml to build both the code jars and the java-source jars. The steps to create a source-jar are quite easy. First, create a jar with the plain source, then do something like this:mvn deploy:deploy-file -DgroupId=$GROUP_ID -DartifactId=$dir -Dversion=$VERSION -Dpackaging=java-source -Dfile=$dir/$dir-sources.jar -DrepositoryId=$REPOSITORY_ID -Durl=$URLThanks! Melden Sie sich an, um auf diesen Beitrag zu antworten. Antworten als... Abbrechen
Sven Ehlert Mika Koivisto Vor 14 Jahren Mika, thanks for the clarification. I can see why you don't want to do double dependency maintenance. However, what would indeed help developers if you could extend the build-maven.xml to build both the code jars and the java-source jars. The steps to create a source-jar are quite easy. First, create a jar with the plain source, then do something like this:mvn deploy:deploy-file -DgroupId=$GROUP_ID -DartifactId=$dir -Dversion=$VERSION -Dpackaging=java-source -Dfile=$dir/$dir-sources.jar -DrepositoryId=$REPOSITORY_ID -Durl=$URLThanks! Melden Sie sich an, um auf diesen Beitrag zu antworten. Antworten als... Abbrechen
Bruno Vernay Vor 14 Jahren I downloaded the sources from http://releases.liferay.com/portal/6.0.1/(By the way, it is very useful to be able to download the source tarbal from a web site !)The compilation went fine, but there are error due to the changing version number maven expect 6.0.0, but the repository contains version 6.0.1.I have no SVN access from work.Will the next version be 6.0.2 ? The http://releases.liferay.com/portal/ hasn't been updated since the 19/04/2010. Also it would be very nice to have the source tarbal in the "nightly" too and not just the war. Melden Sie sich an, um auf diesen Beitrag zu antworten. Antworten als... Abbrechen Bruno Vernay Bruno Vernay Vor 14 Jahren I changed 6.0.0 to 6.0.1 in all pom.xml in maven-support and it worked.I created a portlet with the archetype, configured the deploy property in the pom. It works great ! Melden Sie sich an, um auf diesen Beitrag zu antworten. Antworten als... Abbrechen Ken Helmes Bruno Vernay Vor 13 Jahren Nice, Mika. I took a look at the archetypes and there doesn't seem to be any maven support yet for the ext environment. Is that underway too? Melden Sie sich an, um auf diesen Beitrag zu antworten. Antworten als... Abbrechen Juan Fernández Ken Helmes Vor 13 Jahren Hi Ken: as the extension environment is moving to "extlets" (that are plugins in the end), that would be possible in a not-that-far future Melden Sie sich an, um auf diesen Beitrag zu antworten. Antworten als... Abbrechen Mika Koivisto Ken Helmes Vor 13 Jahren Ext support is planned for later. Melden Sie sich an, um auf diesen Beitrag zu antworten. Antworten als... Abbrechen
Bruno Vernay Bruno Vernay Vor 14 Jahren I changed 6.0.0 to 6.0.1 in all pom.xml in maven-support and it worked.I created a portlet with the archetype, configured the deploy property in the pom. It works great ! Melden Sie sich an, um auf diesen Beitrag zu antworten. Antworten als... Abbrechen Ken Helmes Bruno Vernay Vor 13 Jahren Nice, Mika. I took a look at the archetypes and there doesn't seem to be any maven support yet for the ext environment. Is that underway too? Melden Sie sich an, um auf diesen Beitrag zu antworten. Antworten als... Abbrechen Juan Fernández Ken Helmes Vor 13 Jahren Hi Ken: as the extension environment is moving to "extlets" (that are plugins in the end), that would be possible in a not-that-far future Melden Sie sich an, um auf diesen Beitrag zu antworten. Antworten als... Abbrechen Mika Koivisto Ken Helmes Vor 13 Jahren Ext support is planned for later. Melden Sie sich an, um auf diesen Beitrag zu antworten. Antworten als... Abbrechen
Ken Helmes Bruno Vernay Vor 13 Jahren Nice, Mika. I took a look at the archetypes and there doesn't seem to be any maven support yet for the ext environment. Is that underway too? Melden Sie sich an, um auf diesen Beitrag zu antworten. Antworten als... Abbrechen Juan Fernández Ken Helmes Vor 13 Jahren Hi Ken: as the extension environment is moving to "extlets" (that are plugins in the end), that would be possible in a not-that-far future Melden Sie sich an, um auf diesen Beitrag zu antworten. Antworten als... Abbrechen Mika Koivisto Ken Helmes Vor 13 Jahren Ext support is planned for later. Melden Sie sich an, um auf diesen Beitrag zu antworten. Antworten als... Abbrechen
Juan Fernández Ken Helmes Vor 13 Jahren Hi Ken: as the extension environment is moving to "extlets" (that are plugins in the end), that would be possible in a not-that-far future Melden Sie sich an, um auf diesen Beitrag zu antworten. Antworten als... Abbrechen
Mika Koivisto Ken Helmes Vor 13 Jahren Ext support is planned for later. Melden Sie sich an, um auf diesen Beitrag zu antworten. Antworten als... Abbrechen
Juan Fernández Vor 13 Jahren Added a wiki page with this info(http://www.liferay.com/community/wiki/-/wiki/Main/Liferay+Maven+SDK) Melden Sie sich an, um auf diesen Beitrag zu antworten. Antworten als... Abbrechen
Robert McKinnon Vor 13 Jahren Thank you for this blog and it is a relief to learn that the community is working on getting an integrated solution working with Maven. I went through the steps and there are a few things that I ran into:1.) I had to set the JAVA_HOME environment variable in order to get the following command to work “ant clean start jar”2.) I am currently fighting an issue where the liferay artifacts when deployed contain “${maven.version}”. For example: com/liferay/portal/portal-client/${maven.version}/portal-client-${maven.version}.jar. I am not sure how the maven.version variable gets set.In any event thank you for the maven integration. Melden Sie sich an, um auf diesen Beitrag zu antworten. Antworten als... Abbrechen simeon mitev Robert McKinnon Vor 13 Jahren The same issue here. When I setup manually the variable "maven.version" in my release.{$username}.properties its ok but then all artfacts get uploaded containing maven version ??? This should be the artifacts' version instead of maven's version, right? Melden Sie sich an, um auf diesen Beitrag zu antworten. Antworten als... Abbrechen Baptiste Grenier simeon mitev Vor 13 Jahren I was able to handle the ${maven.version} problem and some more problems, but I was stuck later... You can find the details (and a solution for the ${maven.version} problem in the following thread: http://www.liferay.com/community/forums/-/message_boards/message/5147190Regards,Baptiste Melden Sie sich an, um auf diesen Beitrag zu antworten. Antworten als... Abbrechen
simeon mitev Robert McKinnon Vor 13 Jahren The same issue here. When I setup manually the variable "maven.version" in my release.{$username}.properties its ok but then all artfacts get uploaded containing maven version ??? This should be the artifacts' version instead of maven's version, right? Melden Sie sich an, um auf diesen Beitrag zu antworten. Antworten als... Abbrechen Baptiste Grenier simeon mitev Vor 13 Jahren I was able to handle the ${maven.version} problem and some more problems, but I was stuck later... You can find the details (and a solution for the ${maven.version} problem in the following thread: http://www.liferay.com/community/forums/-/message_boards/message/5147190Regards,Baptiste Melden Sie sich an, um auf diesen Beitrag zu antworten. Antworten als... Abbrechen
Baptiste Grenier simeon mitev Vor 13 Jahren I was able to handle the ${maven.version} problem and some more problems, but I was stuck later... You can find the details (and a solution for the ${maven.version} problem in the following thread: http://www.liferay.com/community/forums/-/message_boards/message/5147190Regards,Baptiste Melden Sie sich an, um auf diesen Beitrag zu antworten. Antworten als... Abbrechen
Sudhaker Raj Vor 13 Jahren Any update on #6?Looking forward to have a painless way to create spring & jsf portlets:-)Thanks for great explanation. Melden Sie sich an, um auf diesen Beitrag zu antworten. Antworten als... Abbrechen