[FORGE-76] Solr App Magnolia Module Forge request Created: 22/Jul/15  Updated: 26/Feb/18  Resolved: 23/Sep/15

Status: Closed
Project: Forge

Type: Project registration Priority: Neutral
Reporter: Edgar Vonk Assignee: Magnolia International
Resolution: Fixed Votes: 1
Labels: None

Attachments: XML File settings.xml    
Project Name: Solr App Magnolia Module
Project Short Name: solr-app-magnolia-module
Project Description: Magnolia App to perform basic management tasks on the Magnolia Solr Content Indexer and Search Providers modules. Made by Info.nl
Project URL: https://github.com/infonl/solr-app-magnolia-module
Developers:
Edgar Vonk, Mariusz Chruscielewski
Project SCM: External (please specify)
Project Jira key: SOLRAPP
Project Maven groupID: nl.info.magnolia
Project License: MIT License

 Description   

Source code at:
https://github.com/infonl/solr-app-magnolia-module



 Comments   
Comment by Edgar Vonk [ 13/Aug/15 ]

Hi Magnolia,

Any news on this application by any chance? We have now released version 1.0.0 of our little app for our own usage. Would like to place the 1.0.0 artefact somewhere out there for the community (Magnolia's Nexus) as well but for that it would need to be part of the Magnolia Forge first..

PS: we are now starting to extend the app a little bit by also including support to start any Solr indexers (currently we only support crawlers).

Comment by Magnolia International [ 21/Sep/15 ]

Edgar, thanks for registering a new project at the Magnolia Forge !

A Jira project is available for you at https://jira.magnolia-cms.com/browse/SOLRAPP.
Jenkins job at https://jenkins.magnolia-cms.com/view/Forge/job/forge_solr-app-magnolia-module/

More details about the infrastructure are available for you at https://forge.magnolia-cms.com/.

Please reopen this issue if you have any question or if you encounter any issue.

Comment by Edgar Vonk [ 21/Sep/15 ]

Hi Gregory,

Thanks!

Yes, some questions:

  • do I also get a project in Magnolia's Jenkins and can I access it? it's also ok not to as we have our own Jenkins
  • how do I go about releasing my project? especially: how do I get releases of my module into Magnolia's Nexus repository? Can I get write access to (part of) the Magnolia Nexus repo?

cheers,

Edgar

Comment by Magnolia International [ 21/Sep/15 ]

Just added the Jenkins job.
Release should be as simple as mvn clean release:prepare && mvn release:perform if everything is configured correctly.
You do have permissions for our Nexus. Use our parent pom (search wiki) and remove all redundant configuration for the safest setup.

Comment by Edgar Vonk [ 21/Sep/15 ]

Ok thanks!

But first I see that I have to go back to Java 7 since it seems Magnolia's Jenkins does not support Java 8 yet.. ;-(

[INFO] --- maven-compiler-plugin:3.3:compile (default-compile) @ solr-app-magnolia-module ---
[INFO] Changes detected - recompiling the module!
[INFO] Compiling 4 source files to /var/lib/jenkins/jobs/forge_solr-app-magnolia-module/workspace/target/classes
[INFO] -------------------------------------------------------------
[ERROR] COMPILATION ERROR : 
[INFO] -------------------------------------------------------------
[ERROR] javac: invalid target release: 1.8
Usage: javac <options> <source files>

I think it would be good for you (and us) to switch to Java 8. At least support it in Magnolia's Jenkins. If only because Java 7 is end-of-life and no longer actively supported.

Comment by Edgar Vonk [ 21/Sep/15 ]

Ah sorry, my bad. You do support Java 8 in Jenkins. Configured the job accordingly now.

Comment by Edgar Vonk [ 21/Sep/15 ]

Hi Gregory,

I think I might be missing upload permissions to Magnolia's Nexus? When I try to do a mvn release:perform this fails with:

[..]
INFO] [INFO] --- maven-deploy-plugin:2.8.2:deploy (default-deploy) @ solr-app-magnolia-module ---
[INFO] Uploading: https://nexus.magnolia-cms.com/content/repositories/magnolia.forge.releases/nl/info/magnolia/solr-app-magnolia-module/1.0.1/solr-app-magnolia-module-1.0.1.jar
[INFO] 2/16 KB   
[INFO] 4/16 KB   
[INFO] 6/16 KB   
[INFO] 8/16 KB   
[INFO] 10/16 KB   
[INFO] 12/16 KB   
[INFO] 14/16 KB   
[INFO] 16/16 KB   
[INFO]            
[INFO] Uploading: https://nexus.magnolia-cms.com/content/repositories/magnolia.forge.releases/nl/info/magnolia/solr-app-magnolia-module/1.0.1/solr-app-magnolia-module-1.0.1.pom
[INFO] 2/6 KB     
[INFO] 4/6 KB   
[INFO] 6/6 KB   
[INFO]          
[INFO] [INFO] ------------------------------------------------------------------------
[INFO] [INFO] BUILD FAILURE
[INFO] [INFO] ------------------------------------------------------------------------
[INFO] [INFO] Total time: 11.515 s
[INFO] [INFO] Finished at: 2015-09-21T20:24:38+02:00
[INFO] [INFO] Final Memory: 42M/576M
[INFO] [INFO] ------------------------------------------------------------------------
[INFO] [ERROR] Failed to execute goal org.apache.maven.plugins:maven-deploy-plugin:2.8.2:deploy (default-deploy) on project solr-app-magnolia-module: Failed to deploy artifacts: Could not transfer artifact nl.info.magnolia:solr-app-magnolia-module:jar:1.0.1 from/to magnolia.forge.releases (https://nexus.magnolia-cms.com/content/repositories/magnolia.forge.releases): Failed to transfer file: https://nexus.magnolia-cms.com/content/repositories/magnolia.forge.releases/nl/info/magnolia/solr-app-magnolia-module/1.0.1/solr-app-magnolia-module-1.0.1.jar. Return code is: 401, ReasonPhrase: Unauthorized. -> [Help 1]

I see the same problem when I attempt to upload the artefact by hand:

 mvn deploy:deploy-file -DgroupId=nl.info.magnolia -DartifactId=solr-app-magnolia-module -Dversion=1.0.1 -Dpackagi
ng=jar -Dfile=target/solr-app-magnolia-module-1.0.1.jar -DrepositoryId=magnolia.forge.releases -Durl=https://nexus.magnolia-cms.com/content/repositories/magnolia.forge.releases

I have set up my Maven settings.xml etc as documented on https://wiki.magnolia-cms.com/display/DEV/Maven+setup and I can log in to Nexus and download Magnolia enterprise resources just fine. So Nexus read access seems fine. Also when I log in to the Nexus web UI I do not see the 'artefact upload' tab in the Forge repositories that you normally see when you have upload permissions.

PS: I wanted to re-open this issue but I am not allowed to do so..

Comment by Magnolia International [ 23/Sep/15 ]

Please attach your settings.xml (mask any passwords)

Comment by Edgar Vonk [ 23/Sep/15 ]

Thanks for helping out Gregory! Please find the settings.xml attached. With this settings.xml I can download Magnolia artefacts and build any Magnolia project just fine (mvn -U clean install) but not deploy to your Nexus.

Comment by Magnolia International [ 23/Sep/15 ]

Yeah ok, so apparently the Maven Setup instructions on the wiki don't mention forge anymore. Run this command:

{fixed}
mvn org.sonatype.plugins:nexus-m2settings-maven-plugin:1.6.5:download -DnexusUrl=https://nexus.magnolia-cms.com{fixed}

Note that unlike the wiki page, it doesn't provide a templateId parameter. So you'll get a menu that'll let you chose one. Pick magnolia-forge-dev.

Now, since you're both enterprise customer and forge dev, you'll have some manual work to do to merge your settings.xml files, but hopefully it'll be explicit enough. (essentially, you were missing <server> entries for the forge repos, so Maven didn't authenticate you).

Before trying to do another release, why don't you simply try a mvn clean deploy to deploy a snapshot, first ?

Comment by Edgar Vonk [ 24/Sep/15 ]

Nice, thanks!

mvn org.sonatype.plugins:nexus-m2settings-maven-plugin:1.6.5:download -DnexusUrl=https://nexus.magnolia-cms.com

did not work for me but version 1.6.6 did so no problem. In fact I just did a

mvn org.sonatype.plugins:nexus-m2settings-maven-plugin:download -DnexusUrl=https://nexus.magnolia-cms.com

will let you know if the deploy now works ok but I think it should.

Comment by Christoph Meier [ 24/Sep/15 ]

I have added a section for Forge users on the Maven setup page.

Comment by Edgar Vonk [ 24/Sep/15 ]

Thanks!

For your information: deployment now work fine to Nexus using mvn release:prepare; mvn release:perform except the deployment of the site. This fails with:

mvn release:perform

[..]

[INFO] [INFO] basic authentication scheme selected
[INFO] [INFO] Failure authenticating with BASIC 'Sonatype Nexus Repository Manager'@nexus.magnolia-cms.com:443
[INFO]  Transfer error: java.io.IOException: Unable to create collection: https://nexus.magnolia-cms.com/content/sites/magnolia.forge.sites/; status code = 401
[..]

Same if I just do mvn site:site; mvn site:deploy

I do now use the Magnolia Forge parent pom. See: https://github.com/infonl/solr-app-magnolia-module/blob/master/pom.xml

But let's not spend too much time on this. I can live without a site I guess. I think I will just disable the maven-site-plugin in my pom for now.

Generated at Mon Feb 12 01:57:36 CET 2024 using Jira 9.4.2#940002-sha1:46d1a51de284217efdcb32434eab47a99af2938b.