{"id":15045766,"url":"https://github.com/jenkinsci/perfpublisher-plugin","last_synced_at":"2025-10-19T21:32:08.780Z","repository":{"id":543037,"uuid":"1163682","full_name":"jenkinsci/perfpublisher-plugin","owner":"jenkinsci","description":"Jenkins perfpublisher plugin","archived":false,"fork":false,"pushed_at":"2022-11-21T22:28:14.000Z","size":537,"stargazers_count":7,"open_issues_count":6,"forks_count":9,"subscribers_count":99,"default_branch":"master","last_synced_at":"2025-01-30T06:11:15.259Z","etag":null,"topics":["adopt-this-plugin"],"latest_commit_sha":null,"homepage":"https://plugins.jenkins.io/perfpublisher/","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jenkinsci.png","metadata":{"files":{"readme":"README","changelog":"changelog","contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2010-12-13T05:47:21.000Z","updated_at":"2023-10-17T18:54:21.000Z","dependencies_parsed_at":"2023-01-11T15:29:43.493Z","dependency_job_id":null,"html_url":"https://github.com/jenkinsci/perfpublisher-plugin","commit_stats":null,"previous_names":[],"tags_count":13,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jenkinsci%2Fperfpublisher-plugin","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jenkinsci%2Fperfpublisher-plugin/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jenkinsci%2Fperfpublisher-plugin/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jenkinsci%2Fperfpublisher-plugin/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jenkinsci","download_url":"https://codeload.github.com/jenkinsci/perfpublisher-plugin/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":237221176,"owners_count":19274447,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["adopt-this-plugin"],"created_at":"2024-09-24T20:52:15.294Z","updated_at":"2025-10-19T21:32:03.428Z","avatar_url":"https://github.com/jenkinsci.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"+--------------------------------------------------+\n+\tREADME - HOW TO COMPILE - PLUGIN\t   +\n+--------------------------------------------------+\n@author  : Georges Bossert\n\t   \u003cgbossert@caps-entreprise.com\n@date\t : 17/07/2009\n@version : 1.0\n\nThis document will introduce how to compile and run\nthe PerfPublisher Plugin. More globaly, this \"how to\"\ncan be used for any Jenkins plugin.\n\nSummary\n----------------------------------------------------\n1.\tTools needed\n\ta. JDK 6.0\n\tb. Maven \n\t\ti. how-to install Maven on linux\n2.\tFiles and Workspace layout\n3.\tCompile a project\n4.\tDebug a project\n5.\tDistributing a Plugin\n6.\tLinks\n\n----------------------------------------------------\n1. Tools needed\n----------------------------------------------------\n\ta. JDK 6.0\nIn order to compile, run and debug any Jenkins Plugin, \nfew tools need to be install.\nFirst, JAVA and it's JDK ( min. 6.0 ), since it's\nmainly developped in JAVA.\n\t\n\tb. Maven\nRight after, come with Maven2 which has to be fully\nfunctionnal and able to download stuff over the \nInternet.\n------------------------------------------------------------------------------------------------\n\ti. how-to install Maven on linux\n \t\t1. Open a command terminal.\n\t\t2. Create a directory for your Maven install.\n\t\t\tmkdir /udd/[USER]/apache-maven\n  \t\t3. Download the maven distribution archive to your install directory.\n\t\t\twget http://apache.mirror99.com/maven/binaries/apache-maven-2.0.9-bin.tar.gz\n  \t\t4. Extract the distribution archive.\n\t\t\ttar -zxf apache-maven-2.0.9-bin.tar.gz\n  \t\t\tThe file will be extracted too /udd/[USER]/apache-maven/apache-maven.\n\t\t5. Add the M2_HOME environment variable.\n\t\t\texport M2_HOME=/udd/[USER]/apache-maven/apache-maven-2.0.9\n  \t\t6. Add the M2 environment variable.\n\t\t\texport M2=$M2_HOME/bin\n  \t\t7. Add M2 environment variable to your path.\n\t\t\texport PATH=$M2:$PATH\n  \t\t8. Make sure that JAVA_HOME is set to the location of your JDK.\n\t\t9. Test your new Maven setup.\n\t\t\tmvn --version\n  \t\t\tIf your setup is correct you should now see something like:\n\t\t\t\tMaven version: 2.0.9\n\t\t\t\tJava version: 1.6.0_03\n\t\t\t\tOS name: \"linux\" version: \"2.6.22-14-generic\" arch: \"i386\" Family: \"unix\"\n------------------------------------------------------------------------------------------------\nWe also have to register Jenkins repositories into\nJenkins. Edit ~/.m2/settings.xml to be sure to have \nthis declaration :\n\n\u003csettings\u003e\n\n  \u003cpluginGroups\u003e\n    \u003cpluginGroup\u003eorg.jenkins-ci.tools\u003c/pluginGroup\u003e\n  \u003c/pluginGroups\u003e\n\n  \u003cprofiles\u003e\n\n    \u003cprofile\u003e\n      \u003cid\u003ejenkins\u003c/id\u003e\n\n      \u003cactivation\u003e\n        \u003cactiveByDefault\u003etrue\u003c/activeByDefault\u003e\n      \u003c/activation\u003e\n\n      \u003crepositories\u003e\n        \u003crepository\u003e\n          \u003cid\u003erepo.jenkins-ci.org\u003c/id\u003e\n          \u003curl\u003ehttp://repo.jenkins-ci.org/public/\u003c/url\u003e\n        \u003c/repository\u003e\n        \u003crepository\u003e\n          \u003cid\u003em.g.o-public\u003c/id\u003e\n          \u003curl\u003ehttp://maven.glassfish.org/content/groups/public/\u003c/url\u003e\n        \u003c/repository\u003e\n      \u003c/repositories\u003e\n\n      \u003cpluginRepositories\u003e\n        \u003cpluginRepository\u003e\n          \u003cid\u003erepo.jenkins-ci.org\u003c/id\u003e\n          \u003curl\u003ehttp://repo.jenkins-ci.org/public/\u003c/url\u003e\n        \u003c/pluginRepository\u003e\n        \u003cpluginRepository\u003e\n          \u003cid\u003em.g.o-public\u003c/id\u003e\n          \u003curl\u003ehttp://maven.glassfish.org/content/groups/public/\u003c/url\u003e\n        \u003c/pluginRepository\u003e\n      \u003c/pluginRepositories\u003e\n\n    \u003c/profile\u003e\n\n  \u003c/profiles\u003e\n\n  \u003cmirrors\u003e\n\n    \u003cmirror\u003e\n      \u003cid\u003erepo.jenkins-ci.org\u003c/id\u003e\n      \u003curl\u003ehttp://repo.jenkins-ci.org/public/\u003c/url\u003e\n      \u003cmirrorOf\u003em.g.o-public\u003c/mirrorOf\u003e\n    \u003c/mirror\u003e\n\n  \u003c/mirrors\u003e\n\n  \u003cactiveProfiles\u003e\n    \u003cactiveProfile\u003ejenkins\u003c/activeProfile\u003e\n  \u003c/activeProfiles\u003e\n\n\u003c/settings\u003e\n\n----------------------------------------------------\n2. Files and Workspace layout\n----------------------------------------------------\nPerfPublisher as any Jenkins Plugin is mainly\nbased on 4 types of data.\n\n\u003e pom.xml :\nThe controller of it's own Maven build\n\n\u003e src/main/java :\nContains all the Java sources.\n\n\u003e src/main/ressources :\nContains all the Jelly and others ressources files.\n\n\u003e src/main/webapp :\nEvery files in the directory will be copy directly into\nthe runtime of the Plugin. Must contain all the static \ncomponents like images and HTML pages.\n\n----------------------------------------------------\n3. Compile a project\n----------------------------------------------------\nIn a shell, juste use the maven commands :\n\u003e mvn clean :\n\tclean the sources and the previous build\n\u003e mvn compile :\n\tcompile the sources\n\n----------------------------------------------------\n4. Debug a project\n----------------------------------------------------\nBefore starting debug, the environnement must be set.\nuse this linux command to execute the debug on\nyour host using port 8000\n\nexport MAVEN_OPTS=\"-Xdebug -Xrunjdwp:transport=dt_socket,server=y,address=8000,suspend=n\"\n\nAs compiling, debuging only requires tu execute a \nmaven command :\n\n\u003e mvn hpi:run\n\nIf you open http://localhost:8080/ in your browser, \nyou should see the Jenkins page running in Jetty. \nThe MAVEN_OPTS portion launches this whole thing \nwith the debugger port 8000, so you should be able \nto start a debug session to this port from your IDE.\n\n----------------------------------------------------\n5. Distributing a Plugin\n----------------------------------------------------\nTo create the package containing the needed files,\nrun the following maven goal :\n\n\u003e mvn package\n\nThis command should create an archive *.hpi, which is \nsimilar to *.jar, in the target directory. It's\nthis file used to install the plugin .\n\n----------------------------------------------------\n6. Links\n----------------------------------------------------\nMaven2 :\nhttp://maven.apache.org/\nJenkins :\nhttp://jenkins-ci.org/","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjenkinsci%2Fperfpublisher-plugin","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjenkinsci%2Fperfpublisher-plugin","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjenkinsci%2Fperfpublisher-plugin/lists"}