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. 请登录以投票。 以……回复 取消
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. 请登录以投票。 以……回复 取消