Tomas Polesovsky 14年 前 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! 投票するためにはログインが必要です。 次として送信する: キャンセル
Lukas Matejka 14年 前 Great work! thanks, we can finally mavenize all our Liferay stuff 投票するためにはログインが必要です。 次として送信する: キャンセル
Sampsa Sohlman 14年 前 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. 投票するためにはログインが必要です。 次として送信する: キャンセル
Thiago Leão Moreira 14年 前 Great post! So good explained!Thanks Mika! 投票するためにはログインが必要です。 次として送信する: キャンセル
Behrang Saeedzadeh 14年 前 The public SVN repo seems to be down. It cannot be access it via http://svn.liferay.com/repos/public 投票するためにはログインが必要です。 次として送信する: キャンセル Mika Koivisto Behrang Saeedzadeh 14年 前 It is up now. Was down for maintenance work. 投票するためにはログインが必要です。 次として送信する: キャンセル Behrang Saeedzadeh Mika Koivisto 14年 前 Thank you Mika! 投票するためにはログインが必要です。 次として送信する: キャンセル Brian Ko Mika Koivisto 13年 前 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 投票するためにはログインが必要です。 次として送信する: キャンセル Louis Sacco Brian Ko 13年 前 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. 投票するためにはログインが必要です。 次として送信する: キャンセル
Mika Koivisto Behrang Saeedzadeh 14年 前 It is up now. Was down for maintenance work. 投票するためにはログインが必要です。 次として送信する: キャンセル Behrang Saeedzadeh Mika Koivisto 14年 前 Thank you Mika! 投票するためにはログインが必要です。 次として送信する: キャンセル Brian Ko Mika Koivisto 13年 前 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 投票するためにはログインが必要です。 次として送信する: キャンセル Louis Sacco Brian Ko 13年 前 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. 投票するためにはログインが必要です。 次として送信する: キャンセル
Brian Ko Mika Koivisto 13年 前 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 投票するためにはログインが必要です。 次として送信する: キャンセル Louis Sacco Brian Ko 13年 前 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. 投票するためにはログインが必要です。 次として送信する: キャンセル
Louis Sacco Brian Ko 13年 前 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. 投票するためにはログインが必要です。 次として送信する: キャンセル
Wayne Lund 14年 前 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. 投票するためにはログインが必要です。 次として送信する: キャンセル Mika Koivisto Wayne Lund 14年 前 If you have problems you can post to the message boards for help. 投票するためにはログインが必要です。 次として送信する: キャンセル
Mika Koivisto Wayne Lund 14年 前 If you have problems you can post to the message boards for help. 投票するためにはログインが必要です。 次として送信する: キャンセル
Sven Ehlert 14年 前 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? 投票するためにはログインが必要です。 次として送信する: キャンセル Mika Koivisto Sven Ehlert 14年 前 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. 投票するためにはログインが必要です。 次として送信する: キャンセル Sven Ehlert Mika Koivisto 14年 前 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! 投票するためにはログインが必要です。 次として送信する: キャンセル
Mika Koivisto Sven Ehlert 14年 前 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. 投票するためにはログインが必要です。 次として送信する: キャンセル Sven Ehlert Mika Koivisto 14年 前 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! 投票するためにはログインが必要です。 次として送信する: キャンセル
Sven Ehlert Mika Koivisto 14年 前 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! 投票するためにはログインが必要です。 次として送信する: キャンセル
Bruno Vernay 14年 前 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. 投票するためにはログインが必要です。 次として送信する: キャンセル Bruno Vernay Bruno Vernay 14年 前 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 ! 投票するためにはログインが必要です。 次として送信する: キャンセル Ken Helmes Bruno Vernay 13年 前 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? 投票するためにはログインが必要です。 次として送信する: キャンセル Juan Fernández Ken Helmes 13年 前 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 投票するためにはログインが必要です。 次として送信する: キャンセル Mika Koivisto Ken Helmes 13年 前 Ext support is planned for later. 投票するためにはログインが必要です。 次として送信する: キャンセル
Bruno Vernay Bruno Vernay 14年 前 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 ! 投票するためにはログインが必要です。 次として送信する: キャンセル Ken Helmes Bruno Vernay 13年 前 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? 投票するためにはログインが必要です。 次として送信する: キャンセル Juan Fernández Ken Helmes 13年 前 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 投票するためにはログインが必要です。 次として送信する: キャンセル Mika Koivisto Ken Helmes 13年 前 Ext support is planned for later. 投票するためにはログインが必要です。 次として送信する: キャンセル
Ken Helmes Bruno Vernay 13年 前 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? 投票するためにはログインが必要です。 次として送信する: キャンセル Juan Fernández Ken Helmes 13年 前 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 投票するためにはログインが必要です。 次として送信する: キャンセル Mika Koivisto Ken Helmes 13年 前 Ext support is planned for later. 投票するためにはログインが必要です。 次として送信する: キャンセル
Juan Fernández Ken Helmes 13年 前 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 投票するためにはログインが必要です。 次として送信する: キャンセル
Juan Fernández 13年 前 Added a wiki page with this info(http://www.liferay.com/community/wiki/-/wiki/Main/Liferay+Maven+SDK) 投票するためにはログインが必要です。 次として送信する: キャンセル
Robert McKinnon 13年 前 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. 投票するためにはログインが必要です。 次として送信する: キャンセル simeon mitev Robert McKinnon 13年 前 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? 投票するためにはログインが必要です。 次として送信する: キャンセル Baptiste Grenier simeon mitev 13年 前 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 投票するためにはログインが必要です。 次として送信する: キャンセル
simeon mitev Robert McKinnon 13年 前 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? 投票するためにはログインが必要です。 次として送信する: キャンセル Baptiste Grenier simeon mitev 13年 前 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 投票するためにはログインが必要です。 次として送信する: キャンセル
Baptiste Grenier simeon mitev 13年 前 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 投票するためにはログインが必要です。 次として送信する: キャンセル
Sudhaker Raj 13年 前 Any update on #6?Looking forward to have a painless way to create spring & jsf portlets:-)Thanks for great explanation. 投票するためにはログインが必要です。 次として送信する: キャンセル