kinow / testopia-plugin

Jenkins plug-in to integrate different test management tools
2 stars 6 forks source link

maven compile of basic plugin results in errors #1

Closed tooh closed 12 years ago

tooh commented 12 years ago

Followed Jenkins tutorial to build the plugin

BUILD

ENVIRONMENT

ProductName: Mac OS X Server ProductVersion: 10.7.3 BuildVersion: 11D50

STEPS TO REPRODUCE

  1. cloned the Github project (uses SourceTree)
  2. cd top TestThemAll directory 3 mvn package

EXPECTED RESULTS

  1. Expected a compile of the plugin resulting in a TestThemAll.hpi file

ACTUAL RESULT

  1. Maven started
  2. Got some messages

[ERROR] The build could not read 1 project -> [Help 1] [ERROR]
[ERROR] The project jenkins.plugins.testthemall:testthemall:1.0-SNAPSHOT (/Users/peter/iApp/TestThemAll/pom.xml) has 1 error [ERROR] Non-parseable POM /Users/peter/.m2/repository/org/jenkins-ci/plugins/plugin/1.409/plugin-1.409.pom: Expected root element 'project' but found 'html' (position: START_TAG seen ... @1:6) @ /Users/peter/.m2/repository/org/jenkins-ci/plugins/plugin/1.409/plugin-1.409.pom, line 1, column 6 -> [Help 2] [ERROR] [ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch. [ERROR] Re-run Maven using the -X switch to enable full debug logging. [ERROR] [ERROR] For more information about the errors and possible solutions, please read the following articles: [ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/ProjectBuildingException [ERROR] [Help 2] http://cwiki.apache.org/confluence/display/MAVEN/ModelParseException

  1. Checked contents of /Users/peter/.m2/repository/org/jenkins-ci/plugins/plugin/1.409/plugin-1.409.pom

301 Moved Permanently

301 Moved Permanently


nginx/0.6.39
            
kinow commented 12 years ago

Hi Peter!

Can you sanity check if your settings.xml is similar to the one explained here, please: https://wiki.jenkins-ci.org/display/JENKINS/Plugin+tutorial#Plugintutorial-SettingUpEnvironment

It must be int he conf/ directory of your Maven installation. Otherwise we can start checking what else is different in our environments :-)

tooh commented 12 years ago

Hi Bruno,

I did some research/debugging.

  1. On OSX there is no default settings.xml created
  2. You can place one in $HOME/.m2
  3. I created a settings.xml there
  4. I tried mvn package again. Same error.
  5. File at /Users/peter/.m2/repository/org/jenkins-ci/plugins/plugin/1.409/plugin-1.409.pom contains some HTML but this is wrong, this should be xml. It looks like the repository that contains this file returns a error 301

I found a /Users/peter/.m2/repository/org/jenkins-ci/plugins/plugin/1.409/plugin-1.409.pom somewhere with correct syntax but this raises a lot of other errors.

So conclusion for now : I should receive file /repository/org/jenkins-ci/plugins/plugin/1.409/plugin-1.409.pom from somewhere. This does not work.

It seems that at every run of mvn package this file is recreated, so the file I copied there is replaced with the wrong file at every run of mvn package.

I hope you can make something of this.

I assume you're not on OSX ?

Regards

Peter

tooh commented 12 years ago

Looks like this issue.

http://jira.codehaus.org/browse/WAGON-314

tooh commented 12 years ago

Update:

I followed the whole tutorial and created a test plugin "testpf" and did not use the code from github.

And .... it works

[INFO] [INFO] --- maven-hpi-plugin:1.74:hpi (default-hpi) @ testpf --- [INFO] Exploding webapp... [INFO] Copy webapp webResources to /Users/peter/iApp/testpf/target/testpf [INFO] Assembling webapp testpf in /Users/peter/iApp/testpf/target/testpf [INFO] Generating hpi /Users/peter/iApp/testpf/target/testpf.hpi [INFO] Generating /Users/peter/iApp/testpf/target/testpf/META-INF/MANIFEST.MF [INFO] Building jar: /Users/peter/iApp/testpf/target/testpf.hpi [INFO] Building jar: /Users/peter/iApp/testpf/target/testpf.jar [INFO] ------------------------------------------------------------------------ [INFO] BUILD SUCCESS [INFO] ------------------------------------------------------------------------ [INFO] Total time: 5:18.771s [INFO] Finished at: Sat May 12 17:46:43 CEST 2012 [INFO] Final Memory: 25M/81M [INFO] ------------------------------------------------------------------------

But no Root cause.

How to go on from here ?

kinow commented 12 years ago

Looks like this issue.

http://jira.codehaus.org/browse/WAGON-314

I think this is happening because you are not using repo.jenkins-ci.org.

Here's the thread where it was decided to change repositories: http://jenkins.361315.n4.nabble.com/m-g-o-public-gt-repo-jenkins-ci-org-public-td4433896.html

By the way, I believe I read somewhere in this thread that Maven 3 is required. What is your Maven version?

Hope that helps.

tooh commented 12 years ago

Hi Bruno,

I have a working HelloWorld plugin:

  1. mvn hpi:create
  2. mvn -e hpi:run -Djetty.port=8081 (had to use a different port)

Could test it in the Jenkins UI.

My Maven version is :

mvn --version Apache Maven 3.0.3 (r1075438; 2011-02-28 18:31:09+0100) Maven home: /usr/share/maven Java version: 1.6.0_31, vendor: Apple Inc. Java home: /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home Default locale: en_US, platform encoding: MacRoman OS name: "mac os x", version: "10.7.3", arch: "x86_64", family: "mac"

I will have a look at your settings.xml file and look if I can make your version work.

What would be the next step.? Are we starting with the UI (defining the job parameters ?)

Hereby the Manifest

Contents of MANIFEST

Manifest-Version: 1.0 Built-By: peter Created-By: Apache Maven Build-Jdk: 1.6.0_31 Extension-Name: testpf Implementation-Title: testpf Implementation-Version: 1.0-SNAPSHOT Group-Id: testpf Short-Name: testpf Long-Name: testpf Url: http://jenkins-ci.org/plugin/testpf/ Plugin-Version: 1.0-SNAPSHOT (private-05/12/2012 17:46-peter) Hudson-Version: 1.424 Jenkins-Version: 1.424 Plugin-Developers:

tooh commented 12 years ago

Hi Bruno,

I changed in the TestThemAll pom.xml the version from 1.409 to 1.424 and now it builds OK.

kinow commented 12 years ago

Hi Peter!

Sorry, I thought the pom.xml with 1.409 and using the m.g.o-public Maven repository was the one that you created. But in fact, I created the wrong pom.xml hahaha.

Sorry sorry sorry.

Are you used to Git/GitHub? Want to change the pom.xml with the right version and repository?

What would be the next step.? Are we starting with the UI (defining the job parameters ?)

I believe "defining the job parameters" is a good start. In TestLink plug-in, the basic idea is:

Are we going to use similar approach?

I didn't have time to play with Testopia API, but it is already installed at my machine.

tooh commented 12 years ago

Are you used to Git/GitHub? Want to change the pom.xml with the right version and repository?

as an exercise I will try to checkin an update to git.

What would be the next step.? Are we starting with the UI (defining the job parameters ?)

I believe "defining the job parameters" is a good start. In TestLink plug-in, the basic idea is:

retrieve test cases marked as automated
execute them in Jenkins
retrieve test results
update test case status in TestLink (adding attachments, etc)

Are we going to use similar approach?

I think this is as I imagined it. Can you start by checking in the relevant code from the Testlink plugin as a template ?

And possibly also giove me some hints where to look for ?

Thanks for now.

PS I thnink we have to plan our first standup-meeting :)

kinow commented 12 years ago

as an exercise I will try to checkin an update to git.

Great :) I've updated the maven repository as well. I used the one from the pom.xml that you sent me before.

I think this is as I imagined it. Can you start by checking in the relevant code from the Testlink plugin as a template ? And possibly also giove me some hints where to look for ?

Sure thing, I will check the general test structure in Testopia, and the required parameters to retrieve the automated tests using Testopia API. Then will send it to you, so you can see if that sounds good.

I think that's what we need:

PS I thnink we have to plan our first standup-meeting :)

True :-) what about scrum-do? I haven't received no more mails from it, is there anything in there? Should we use it to keep track of our activities?

By the way, are you in US? Anywhere close to Long Beach?

Cheers

tooh commented 12 years ago

Hi Bruno,

On 14 mei 2012, at 00:19, Bruno P. Kinoshita wrote:

as an exercise I will try to checkin an update to git.

Great :) I've updated the maven repository as well. I used the one from the pom.xml that you sent me before.

Committing to the master for now ?

I think this is as I imagined it. Can you start by checking in the relevant code from the Testlink plugin as a template ? And possibly also giove me some hints where to look for ?

Sure thing, I will check the general test structure in Testopia, and the required parameters to retrieve the automated tests using Testopia API. Then will send it to you, so you can see if that sounds good.

I think that's what we need:

  • All parameters required to connect to Testopia and get all the automated test cases
  • Useful information from Testopia that can be used during test execution (in TestThemAll plug-in, we set these values as Environment Variable, per test execution)
  • Extra information needed to update test cases (if any is required)

Agree, I have already some examples I made int he past with shell scripts and perl.

PS I thnink we have to plan our first standup-meeting :)

True :-) what about scrum-do? I haven't received no more mails from it, is there anything in there? Should we use it to keep track of our activities? I have sent you a separate mail about ScrumDo.

By the way, are you in US? Anywhere close to Long Beach?

No, I am located in the Netherlands, Europe. (in a village called Hapert, 30 KM from Eindhoven.) If we want to do a stand-up then it probably should be a "virtual" one. :)

Regards,

Peter