summaryrefslogtreecommitdiff
path: root/calamus-jenkins-plugin
diff options
context:
space:
mode:
authorTrygve Laugstøl <trygvis@inamo.no>2014-04-12 17:55:28 +0200
committerTrygve Laugstøl <trygvis@inamo.no>2014-04-12 17:55:28 +0200
commitbfcfcf5e3b4301bc94c27f47bfda61693edf3595 (patch)
treed6eedd800b1b34fd66ccbd86e5f215aaa40ccd3d /calamus-jenkins-plugin
downloadcalamus-bfcfcf5e3b4301bc94c27f47bfda61693edf3595.tar.gz
calamus-bfcfcf5e3b4301bc94c27f47bfda61693edf3595.tar.bz2
calamus-bfcfcf5e3b4301bc94c27f47bfda61693edf3595.tar.xz
calamus-bfcfcf5e3b4301bc94c27f47bfda61693edf3595.zip
wip
Diffstat (limited to 'calamus-jenkins-plugin')
-rw-r--r--calamus-jenkins-plugin/.gitignore1
-rw-r--r--calamus-jenkins-plugin/calamus-jenkins-pipeline.ipr107
-rw-r--r--calamus-jenkins-plugin/calamus-jenkins-pipeline.iws418
-rw-r--r--calamus-jenkins-plugin/pom.xml71
-rw-r--r--calamus-jenkins-plugin/src/main/java/org/jenkinsci/plugins/calamus/HelloWorldBuilder.java152
-rw-r--r--calamus-jenkins-plugin/src/main/java/org/jenkinsci/plugins/calamus/JbpmRunListener.java42
-rw-r--r--calamus-jenkins-plugin/src/main/java/org/jenkinsci/plugins/calamus/MqClient.java48
-rw-r--r--calamus-jenkins-plugin/src/main/resources/index.jelly6
-rw-r--r--calamus-jenkins-plugin/src/main/resources/org/jenkinsci/plugins/calamus/HelloWorldBuilder/config.jelly15
-rw-r--r--calamus-jenkins-plugin/src/main/resources/org/jenkinsci/plugins/calamus/HelloWorldBuilder/global.jelly20
-rw-r--r--calamus-jenkins-plugin/src/main/resources/org/jenkinsci/plugins/calamus/HelloWorldBuilder/help-name.html6
-rw-r--r--calamus-jenkins-plugin/src/main/resources/org/jenkinsci/plugins/calamus/HelloWorldBuilder/help-useFrench.html6
12 files changed, 892 insertions, 0 deletions
diff --git a/calamus-jenkins-plugin/.gitignore b/calamus-jenkins-plugin/.gitignore
new file mode 100644
index 0000000..b8f99f5
--- /dev/null
+++ b/calamus-jenkins-plugin/.gitignore
@@ -0,0 +1 @@
+work
diff --git a/calamus-jenkins-plugin/calamus-jenkins-pipeline.ipr b/calamus-jenkins-plugin/calamus-jenkins-pipeline.ipr
new file mode 100644
index 0000000..c47dca1
--- /dev/null
+++ b/calamus-jenkins-plugin/calamus-jenkins-pipeline.ipr
@@ -0,0 +1,107 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements. See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership. The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied. See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+<project version="4" relativePaths="false">
+ <component name="ProjectRootManager" version="2" assert-keyword="true" project-jdk-name="JDK1.5" jdk-15="true"/>
+ <component name="CodeStyleManager">
+ <option name="USE_DEFAULT_CODE_STYLE_SCHEME" value="true"/>
+ <option name="CODE_STYLE_SCHEME" value=""/>
+ </component>
+ <component name="libraryTable"/>
+ <component name="CompilerConfiguration">
+ <option name="DEFAULT_COMPILER" value="Javac"/>
+ <option name="CLEAR_OUTPUT_DIRECTORY" value="false"/>
+ <!--
+ <wildcardResourcePatterns>
+ <entry name="${wildcardResourcePattern}"/>
+ </wildcardResourcePatterns>
+ -->
+ <wildcardResourcePatterns>
+ <entry name="!?*.java"/>
+ </wildcardResourcePatterns>
+ </component>
+ <component name="JavacSettings">
+ <option name="DEBUGGING_INFO" value="true"/>
+ <option name="GENERATE_NO_WARNINGS" value="false"/>
+ <option name="DEPRECATION" value="true"/>
+ <option name="ADDITIONAL_OPTIONS_STRING" value=""/>
+ <option name="MAXIMUM_HEAP_SIZE" value="128"/>
+ <option name="USE_GENERICS_COMPILER" value="false"/>
+ </component>
+ <component name="JikesSettings">
+ <option name="DEBUGGING_INFO" value="true"/>
+ <option name="DEPRECATION" value="true"/>
+ <option name="GENERATE_NO_WARNINGS" value="false"/>
+ <option name="GENERATE_MAKE_FILE_DEPENDENCIES" value="false"/>
+ <option name="DO_FULL_DEPENDENCE_CHECK" value="false"/>
+ <option name="IS_INCREMENTAL_MODE" value="false"/>
+ <option name="IS_EMACS_ERRORS_MODE" value="true"/>
+ <option name="ADDITIONAL_OPTIONS_STRING" value=""/>
+ <option name="MAXIMUM_HEAP_SIZE" value="128"/>
+ </component>
+ <component name="AntConfiguration">
+ <option name="IS_AUTOSCROLL_TO_SOURCE" value="false"/>
+ <option name="FILTER_TARGETS" value="false"/>
+ </component>
+ <component name="JavadocGenerationManager">
+ <option name="OUTPUT_DIRECTORY"/>
+ <option name="OPTION_SCOPE" value="protected"/>
+ <option name="OPTION_HIERARCHY" value="false"/>
+ <option name="OPTION_NAVIGATOR" value="false"/>
+ <option name="OPTION_INDEX" value="false"/>
+ <option name="OPTION_SEPARATE_INDEX" value="false"/>
+ <option name="OPTION_USE_1_1" value="false"/>
+ <option name="OPTION_DOCUMENT_TAG_USE" value="false"/>
+ <option name="OPTION_DOCUMENT_TAG_AUTHOR" value="false"/>
+ <option name="OPTION_DOCUMENT_TAG_VERSION" value="false"/>
+ <option name="OPTION_DOCUMENT_TAG_DEPRECATED" value="false"/>
+ <option name="OPTION_DEPRECATED_LIST" value="false"/>
+ <option name="OTHER_OPTIONS"/>
+ <option name="HEAP_SIZE"/>
+ <option name="OPEN_IN_BROWSER" value="false"/>
+ </component>
+ <component name="JUnitProjectSettings">
+ <option name="TEST_RUNNER" value="UI"/>
+ </component>
+ <component name="EntryPointsManager">
+ <entry_points/>
+ </component>
+ <component name="DataSourceManager"/>
+ <component name="ExportToHTMLSettings">
+ <option name="PRINT_LINE_NUMBERS" value="false"/>
+ <option name="OPEN_IN_BROWSER" value="false"/>
+ <option name="OUTPUT_DIRECTORY"/>
+ </component>
+ <component name="ImportConfiguration">
+ <option name="VENDOR"/>
+ <option name="RELEASE_TAG"/>
+ <option name="LOG_MESSAGE"/>
+ <option name="CHECKOUT_AFTER_IMPORT" value="true"/>
+ </component>
+ <component name="ProjectModuleManager">
+ <modules>
+ <!-- module filepath="$$PROJECT_DIR$$/${pom.artifactId}.iml"/ -->
+ <module filepath="$PROJECT_DIR$/calamus-jenkins-pipeline.iml"/>
+ </modules>
+ </component>
+ <UsedPathMacros>
+ <!--<macro name="cargo"></macro>-->
+ </UsedPathMacros>
+</project>
diff --git a/calamus-jenkins-plugin/calamus-jenkins-pipeline.iws b/calamus-jenkins-plugin/calamus-jenkins-pipeline.iws
new file mode 100644
index 0000000..b94e12f
--- /dev/null
+++ b/calamus-jenkins-plugin/calamus-jenkins-pipeline.iws
@@ -0,0 +1,418 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements. See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership. The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied. See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+<project version="4" relativePaths="false">
+ <component name="LvcsProjectConfiguration">
+ <option name="ADD_LABEL_ON_PROJECT_OPEN" value="true"/>
+ <option name="ADD_LABEL_ON_PROJECT_COMPILATION" value="true"/>
+ <option name="ADD_LABEL_ON_FILE_PACKAGE_COMPILATION" value="true"/>
+ <option name="ADD_LABEL_ON_PROJECT_MAKE" value="true"/>
+ <option name="ADD_LABEL_ON_RUNNING" value="true"/>
+ <option name="ADD_LABEL_ON_DEBUGGING" value="true"/>
+ <option name="ADD_LABEL_ON_UNIT_TEST_PASSED" value="true"/>
+ <option name="ADD_LABEL_ON_UNIT_TEST_FAILED" value="true"/>
+ </component>
+ <component name="PropertiesComponent">
+ <property name="MemberChooser.copyJavadoc" value="false"/>
+ <property name="GoToClass.includeLibraries" value="false"/>
+ <property name="MemberChooser.showClasses" value="true"/>
+ <property name="MemberChooser.sorted" value="false"/>
+ <property name="GoToFile.includeJavaFiles" value="false"/>
+ <property name="GoToClass.toSaveIncludeLibraries" value="false"/>
+ </component>
+ <component name="ToolWindowManager">
+ <frame x="-4" y="-4" width="1032" height="746" extended-state="6"/>
+ <editor active="false"/>
+ <layout>
+ <window_info id="CVS" active="false" anchor="bottom" auto_hide="false" internal_type="docked" type="docked" visible="false" weight="0.33" order="-1"/>
+ <window_info id="TODO" active="false" anchor="bottom" auto_hide="false" internal_type="docked" type="docked" visible="false" weight="0.33" order="7"/>
+ <window_info id="Project" active="false" anchor="left" auto_hide="false" internal_type="docked" type="docked" visible="false" weight="0.25" order="0"/>
+ <window_info id="Find" active="false" anchor="bottom" auto_hide="false" internal_type="docked" type="docked" visible="false" weight="0.33" order="1"/>
+ <window_info id="Structure" active="false" anchor="left" auto_hide="false" internal_type="docked" type="docked" visible="false" weight="0.25" order="1"/>
+ <window_info id="Messages" active="false" anchor="bottom" auto_hide="false" internal_type="docked" type="docked" visible="false" weight="0.33" order="-1"/>
+ <window_info id="Inspection" active="false" anchor="bottom" auto_hide="false" internal_type="docked" type="docked" visible="false" weight="0.4" order="6"/>
+ <window_info id="Aspects" active="false" anchor="right" auto_hide="false" internal_type="docked" type="docked" visible="false" weight="0.33" order="-1"/>
+ <window_info id="Ant Build" active="false" anchor="right" auto_hide="false" internal_type="docked" type="docked" visible="false" weight="0.25" order="1"/>
+ <window_info id="Run" active="false" anchor="bottom" auto_hide="false" internal_type="docked" type="docked" visible="false" weight="0.33" order="2"/>
+ <window_info id="Hierarchy" active="false" anchor="right" auto_hide="false" internal_type="docked" type="docked" visible="false" weight="0.25" order="2"/>
+ <window_info id="Debug" active="false" anchor="bottom" auto_hide="false" internal_type="docked" type="docked" visible="false" weight="0.4" order="4"/>
+ <window_info id="Commander" active="false" anchor="right" auto_hide="false" internal_type="sliding" type="sliding" visible="false" weight="0.4" order="0"/>
+ <window_info id="Web" active="false" anchor="left" auto_hide="false" internal_type="docked" type="docked" visible="false" weight="0.25" order="2"/>
+ <window_info id="Message" active="false" anchor="bottom" auto_hide="false" internal_type="docked" type="docked" visible="false" weight="0.33" order="0"/>
+ <window_info id="EJB" active="false" anchor="bottom" auto_hide="false" internal_type="docked" type="docked" visible="false" weight="0.25" order="3"/>
+ <window_info id="Cvs" active="false" anchor="bottom" auto_hide="false" internal_type="docked" type="docked" visible="false" weight="0.25" order="5"/>
+ </layout>
+ </component>
+ <component name="ErrorTreeViewConfiguration">
+ <option name="IS_AUTOSCROLL_TO_SOURCE" value="false"/>
+ <option name="HIDE_WARNINGS" value="false"/>
+ </component>
+ <component name="StructureViewFactory">
+ <option name="SORT_MODE" value="0"/>
+ <option name="GROUP_INHERITED" value="true"/>
+ <option name="AUTOSCROLL_MODE" value="true"/>
+ <option name="SHOW_FIELDS" value="true"/>
+ <option name="AUTOSCROLL_FROM_SOURCE" value="false"/>
+ <option name="GROUP_GETTERS_AND_SETTERS" value="true"/>
+ <option name="SHOW_INHERITED" value="false"/>
+ <option name="HIDE_NOT_PUBLIC" value="false"/>
+ </component>
+ <component name="ProjectViewSettings">
+ <navigator currentView="ProjectPane" flattenPackages="false" showMembers="false" showStructure="false" autoscrollToSource="false" splitterProportion="0.5"/>
+ <view id="ProjectPane">
+ <expanded_node type="directory" url="file://$PROJECT_DIR$"/>
+ </view>
+ <view id="SourcepathPane"/>
+ <view id="ClasspathPane"/>
+ </component>
+ <component name="Commander">
+ <leftPanel view="Project"/>
+ <rightPanel view="Project"/>
+ <splitter proportion="0.5"/>
+ </component>
+ <component name="AspectsView"/>
+ <component name="SelectInManager"/>
+ <component name="HierarchyBrowserManager">
+ <option name="SHOW_PACKAGES" value="false"/>
+ <option name="IS_AUTOSCROLL_TO_SOURCE" value="false"/>
+ <option name="SORT_ALPHABETICALLY" value="false"/>
+ </component>
+ <component name="TodoView" selected-index="0">
+ <todo-panel id="selected-file">
+ <are-packages-shown value="false"/>
+ <flatten-packages value="false"/>
+ <is-autoscroll-to-source value="true"/>
+ </todo-panel>
+ <todo-panel id="all">
+ <are-packages-shown value="true"/>
+ <flatten-packages value="false"/>
+ <is-autoscroll-to-source value="true"/>
+ </todo-panel>
+ </component>
+ <component name="editorManager"/>
+ <component name="editorHistoryManager"/>
+ <component name="DaemonCodeAnalyzer">
+ <disable_hints/>
+ </component>
+ <component name="InspectionManager">
+ <option name="AUTOSCROLL_TO_SOURCE" value="false"/>
+ <option name="SPLITTER_PROPORTION" value="0.5"/>
+ <profile name="Default"/>
+ </component>
+ <component name="BookmarkManager"/>
+ <component name="DebuggerManager">
+ <line_breakpoints/>
+ <exception_breakpoints>
+ <breakpoint_any>
+ <option name="NOTIFY_CAUGHT" value="true"/>
+ <option name="NOTIFY_UNCAUGHT" value="true"/>
+ <option name="ENABLED" value="false"/>
+ <option name="SUSPEND_VM" value="true"/>
+ <option name="COUNT_FILTER_ENABLED" value="false"/>
+ <option name="COUNT_FILTER" value="0"/>
+ <option name="CONDITION_ENABLED" value="false"/>
+ <option name="CONDITION"/>
+ <option name="LOG_ENABLED" value="false"/>
+ <option name="LOG_EXPRESSION_ENABLED" value="false"/>
+ <option name="LOG_MESSAGE"/>
+ <option name="CLASS_FILTERS_ENABLED" value="false"/>
+ <option name="INVERSE_CLASS_FILLTERS" value="false"/>
+ <option name="SUSPEND_POLICY" value="SuspendAll"/>
+ </breakpoint_any>
+ </exception_breakpoints>
+ <field_breakpoints/>
+ <method_breakpoints/>
+ </component>
+ <component name="DebuggerSettings">
+ <option name="TRACING_FILTERS_ENABLED" value="true"/>
+ <option name="TOSTRING_CLASSES_ENABLED" value="false"/>
+ <option name="VALUE_LOOKUP_DELAY" value="700"/>
+ <option name="DEBUGGER_TRANSPORT" value="0"/>
+ <option name="FORCE_CLASSIC_VM" value="true"/>
+ <option name="HIDE_DEBUGGER_ON_PROCESS_TERMINATION" value="false"/>
+ <option name="SKIP_SYNTHETIC_METHODS" value="true"/>
+ <option name="SKIP_CONSTRUCTORS" value="false"/>
+ <option name="STEP_THREAD_SUSPEND_POLICY" value="SuspendThread"/>
+ <default_breakpoint_settings>
+ <option name="NOTIFY_CAUGHT" value="true"/>
+ <option name="NOTIFY_UNCAUGHT" value="true"/>
+ <option name="WATCH_MODIFICATION" value="true"/>
+ <option name="WATCH_ACCESS" value="true"/>
+ <option name="WATCH_ENTRY" value="true"/>
+ <option name="WATCH_EXIT" value="true"/>
+ <option name="ENABLED" value="true"/>
+ <option name="SUSPEND_VM" value="true"/>
+ <option name="COUNT_FILTER_ENABLED" value="false"/>
+ <option name="COUNT_FILTER" value="0"/>
+ <option name="CONDITION_ENABLED" value="false"/>
+ <option name="CONDITION"/>
+ <option name="LOG_ENABLED" value="false"/>
+ <option name="LOG_EXPRESSION_ENABLED" value="false"/>
+ <option name="LOG_MESSAGE"/>
+ <option name="CLASS_FILTERS_ENABLED" value="false"/>
+ <option name="INVERSE_CLASS_FILLTERS" value="false"/>
+ <option name="SUSPEND_POLICY" value="SuspendAll"/>
+ </default_breakpoint_settings>
+ <filter>
+ <option name="PATTERN" value="com.sun.*"/>
+ <option name="ENABLED" value="true"/>
+ </filter>
+ <filter>
+ <option name="PATTERN" value="java.*"/>
+ <option name="ENABLED" value="true"/>
+ </filter>
+ <filter>
+ <option name="PATTERN" value="javax.*"/>
+ <option name="ENABLED" value="true"/>
+ </filter>
+ <filter>
+ <option name="PATTERN" value="org.omg.*"/>
+ <option name="ENABLED" value="true"/>
+ </filter>
+ <filter>
+ <option name="PATTERN" value="sun.*"/>
+ <option name="ENABLED" value="true"/>
+ </filter>
+ <filter>
+ <option name="PATTERN" value="junit.*"/>
+ <option name="ENABLED" value="true"/>
+ </filter>
+ </component>
+ <component name="CompilerWorkspaceConfiguration">
+ <option name="COMPILE_IN_BACKGROUND" value="false"/>
+ <option name="AUTO_SHOW_ERRORS_IN_EDITOR" value="true"/>
+ </component>
+ <component name="RunManager">
+ <activeType name="Application"/>
+ <configuration selected="false" default="true" type="Applet" factoryName="Applet">
+ <module name=""/>
+ <option name="MAIN_CLASS_NAME"/>
+ <option name="HTML_FILE_NAME"/>
+ <option name="HTML_USED" value="false"/>
+ <option name="WIDTH" value="400"/>
+ <option name="HEIGHT" value="300"/>
+ <option name="POLICY_FILE" value="$APPLICATION_HOME_DIR$/bin/appletviewer.policy"/>
+ <option name="VM_PARAMETERS"/>
+ </configuration>
+ <configuration selected="false" default="true" type="Remote" factoryName="Remote">
+ <option name="USE_SOCKET_TRANSPORT" value="true"/>
+ <option name="SERVER_MODE" value="false"/>
+ <option name="SHMEM_ADDRESS" value="javadebug"/>
+ <option name="HOST" value="localhost"/>
+ <option name="PORT" value="5005"/>
+ </configuration>
+ <configuration selected="false" default="true" type="Application" factoryName="Application">
+ <option name="MAIN_CLASS_NAME"/>
+ <option name="VM_PARAMETERS"/>
+ <option name="PROGRAM_PARAMETERS"/>
+ <option name="WORKING_DIRECTORY" value="$PROJECT_DIR$"/>
+ <module name=""/>
+ </configuration>
+ <configuration selected="false" default="true" type="JUnit" factoryName="JUnit">
+ <module name=""/>
+ <option name="PACKAGE_NAME"/>
+ <option name="MAIN_CLASS_NAME"/>
+ <option name="METHOD_NAME"/>
+ <option name="TEST_OBJECT" value="class"/>
+ <option name="VM_PARAMETERS"/>
+ <option name="PARAMETERS"/>
+ <option name="WORKING_DIRECTORY" value="$PROJECT_DIR$"/>
+ <option name="ADDITIONAL_CLASS_PATH"/>
+ <option name="TEST_SEARCH_SCOPE">
+ <value defaultName="wholeProject"/>
+ </option>
+ </configuration>
+ </component>
+ <component name="VcsManagerConfiguration">
+ <option name="ACTIVE_VCS_NAME" value="svn"/>
+ <option name="STATE" value="0"/>
+ </component>
+ <component name="VssConfiguration">
+ <CheckoutOptions>
+ <option name="COMMENT" value=""/>
+ <option name="DO_NOT_GET_LATEST_VERSION" value="false"/>
+ <option name="REPLACE_WRITABLE" value="false"/>
+ <option name="RECURSIVE" value="false"/>
+ </CheckoutOptions>
+ <CheckinOptions>
+ <option name="COMMENT" value=""/>
+ <option name="KEEP_CHECKED_OUT" value="false"/>
+ <option name="RECURSIVE" value="false"/>
+ </CheckinOptions>
+ <AddOptions>
+ <option name="COMMENT" value=""/>
+ <option name="STORE_ONLY_LATEST_VERSION" value="false"/>
+ <option name="CHECK_OUT_IMMEDIATELY" value="false"/>
+ <option name="FILE_TYPE" value="0"/>
+ </AddOptions>
+ <UndocheckoutOptions>
+ <option name="MAKE_WRITABLE" value="false"/>
+ <option name="REPLACE_LOCAL_COPY" value="0"/>
+ <option name="RECURSIVE" value="false"/>
+ </UndocheckoutOptions>
+ <DiffOptions>
+ <option name="IGNORE_WHITE_SPACE" value="false"/>
+ <option name="IGNORE_CASE" value="false"/>
+ </DiffOptions>
+ <GetOptions>
+ <option name="REPLACE_WRITABLE" value="0"/>
+ <option name="MAKE_WRITABLE" value="false"/>
+ <option name="RECURSIVE" value="false"/>
+ </GetOptions>
+ <option name="CLIENT_PATH" value=""/>
+ <option name="SRCSAFEINI_PATH" value=""/>
+ <option name="USER_NAME" value=""/>
+ <option name="PWD" value=""/>
+ <option name="SHOW_CHECKOUT_OPTIONS" value="true"/>
+ <option name="SHOW_ADD_OPTIONS" value="true"/>
+ <option name="SHOW_UNDOCHECKOUT_OPTIONS" value="true"/>
+ <option name="SHOW_DIFF_OPTIONS" value="true"/>
+ <option name="SHOW_GET_OPTIONS" value="true"/>
+ <option name="USE_EXTERNAL_DIFF" value="false"/>
+ <option name="EXTERNAL_DIFF_PATH" value=""/>
+ <option name="REUSE_LAST_COMMENT" value="false"/>
+ <option name="PUT_FOCUS_INTO_COMMENT" value="false"/>
+ <option name="SHOW_CHECKIN_OPTIONS" value="true"/>
+ <option name="LAST_COMMIT_MESSAGE" value=""/>
+ <option name="CHECKIN_DIALOG_SPLITTER_PROPORTION" value="0.8"/>
+ </component>
+ <component name="CheckinPanelState"/>
+ <component name="WebViewSettings">
+ <webview flattenPackages="false" showMembers="false" autoscrollToSource="false"/>
+ </component>
+ <component name="EjbViewSettings">
+ <EjbView showMembers="false" autoscrollToSource="false"/>
+ </component>
+ <component name="AppServerRunManager"/>
+ <component name="StarteamConfiguration">
+ <option name="SERVER" value=""/>
+ <option name="PORT" value="49201"/>
+ <option name="USER" value=""/>
+ <option name="PASSWORD" value=""/>
+ <option name="PROJECT" value=""/>
+ <option name="VIEW" value=""/>
+ <option name="ALTERNATIVE_WORKING_PATH" value=""/>
+ <option name="PUT_FOCUS_INTO_COMMENT" value="false"/>
+ <option name="SHOW_CHECKIN_OPTIONS" value="true"/>
+ <option name="LAST_COMMIT_MESSAGE" value=""/>
+ <option name="CHECKIN_DIALOG_SPLITTER_PROPORTION" value="0.8"/>
+ </component>
+ <component name="Cvs2Configuration">
+ <option name="ON_FILE_ADDING" value="0"/>
+ <option name="ON_FILE_REMOVING" value="0"/>
+ <option name="PRUNE_EMPTY_DIRECTORIES" value="true"/>
+ <option name="SHOW_UPDATE_OPTIONS" value="true"/>
+ <option name="SHOW_ADD_OPTIONS" value="true"/>
+ <option name="SHOW_REMOVE_OPTIONS" value="true"/>
+ <option name="MERGING_MODE" value="0"/>
+ <option name="MERGE_WITH_BRANCH1_NAME" value="HEAD"/>
+ <option name="MERGE_WITH_BRANCH2_NAME" value="HEAD"/>
+ <option name="RESET_STICKY" value="false"/>
+ <option name="CREATE_NEW_DIRECTORIES" value="true"/>
+ <option name="DEFAULT_TEXT_FILE_SUBSTITUTION" value="kv"/>
+ <option name="PROCESS_UNKNOWN_FILES" value="false"/>
+ <option name="PROCESS_DELETED_FILES" value="false"/>
+ <option name="SHOW_EDIT_DIALOG" value="true"/>
+ <option name="RESERVED_EDIT" value="false"/>
+ <option name="FILE_HISTORY_SPLITTER_PROPORTION" value="0.6"/>
+ <option name="SHOW_CHECKOUT_OPTIONS" value="true"/>
+ <option name="CHECKOUT_DATE_OR_REVISION_SETTINGS">
+ <value>
+ <option name="BRANCH" value=""/>
+ <option name="DATE" value=""/>
+ <option name="USE_BRANCH" value="false"/>
+ <option name="USE_DATE" value="false"/>
+ </value>
+ </option>
+ <option name="UPDATE_DATE_OR_REVISION_SETTINGS">
+ <value>
+ <option name="BRANCH" value=""/>
+ <option name="DATE" value=""/>
+ <option name="USE_BRANCH" value="false"/>
+ <option name="USE_DATE" value="false"/>
+ </value>
+ </option>
+ <option name="SHOW_CHANGES_REVISION_SETTINGS">
+ <value>
+ <option name="BRANCH" value=""/>
+ <option name="DATE" value=""/>
+ <option name="USE_BRANCH" value="false"/>
+ <option name="USE_DATE" value="false"/>
+ </value>
+ </option>
+ <option name="SHOW_OUTPUT" value="false"/>
+ <option name="SHOW_FILE_HISTORY_AS_TREE" value="false"/>
+ <option name="UPDATE_GROUP_BY_PACKAGES" value="false"/>
+ <option name="ADD_WATCH_INDEX" value="0"/>
+ <option name="REMOVE_WATCH_INDEX" value="0"/>
+ <option name="UPDATE_KEYWORD_SUBSTITUTION"/>
+ <option name="MAKE_NEW_FILES_READONLY" value="false"/>
+ <option name="SHOW_CORRUPTED_PROJECT_FILES" value="0"/>
+ <option name="TAG_AFTER_FILE_COMMIT" value="false"/>
+ <option name="TAG_AFTER_FILE_COMMIT_NAME" value=""/>
+ <option name="TAG_AFTER_PROJECT_COMMIT" value="false"/>
+ <option name="TAG_AFTER_PROJECT_COMMIT_NAME" value=""/>
+ <option name="PUT_FOCUS_INTO_COMMENT" value="false"/>
+ <option name="SHOW_CHECKIN_OPTIONS" value="true"/>
+ <option name="FORCE_NON_EMPTY_COMMENT" value="false"/>
+ <option name="LAST_COMMIT_MESSAGE" value=""/>
+ <option name="SAVE_LAST_COMMIT_MESSAGE" value="true"/>
+ <option name="CHECKIN_DIALOG_SPLITTER_PROPORTION" value="0.8"/>
+ <option name="OPTIMIZE_IMPORTS_BEFORE_PROJECT_COMMIT" value="false"/>
+ <option name="OPTIMIZE_IMPORTS_BEFORE_FILE_COMMIT" value="false"/>
+ <option name="REFORMAT_BEFORE_PROJECT_COMMIT" value="false"/>
+ <option name="REFORMAT_BEFORE_FILE_COMMIT" value="false"/>
+ <option name="FILE_HISTORY_DIALOG_COMMENTS_SPLITTER_PROPORTION" value="0.8"/>
+ <option name="FILE_HISTORY_DIALOG_SPLITTER_PROPORTION" value="0.5"/>
+ </component>
+ <component name="CvsTabbedWindow"/>
+ <component name="SvnConfiguration">
+ <option name="USER" value=""/>
+ <option name="PASSWORD" value=""/>
+ <option name="AUTO_ADD_FILES" value="0"/>
+ <option name="AUTO_DEL_FILES" value="0"/>
+ </component>
+ <component name="PerforceConfiguration">
+ <option name="PORT" value="magic:1666"/>
+ <option name="USER" value=""/>
+ <option name="PASSWORD" value=""/>
+ <option name="CLIENT" value=""/>
+ <option name="TRACE" value="false"/>
+ <option name="PERFORCE_STATUS" value="true"/>
+ <option name="CHANGELIST_OPTION" value="false"/>
+ <option name="SYSTEMROOT" value=""/>
+ <option name="P4_EXECUTABLE" value="p4"/>
+ <option name="SHOW_BRANCH_HISTORY" value="false"/>
+ <option name="GENERATE_COMMENT" value="false"/>
+ <option name="SYNC_OPTION" value="Sync"/>
+ <option name="PUT_FOCUS_INTO_COMMENT" value="false"/>
+ <option name="SHOW_CHECKIN_OPTIONS" value="true"/>
+ <option name="FORCE_NON_EMPTY_COMMENT" value="true"/>
+ <option name="LAST_COMMIT_MESSAGE" value=""/>
+ <option name="SAVE_LAST_COMMIT_MESSAGE" value="true"/>
+ <option name="CHECKIN_DIALOG_SPLITTER_PROPORTION" value="0.8"/>
+ <option name="OPTIMIZE_IMPORTS_BEFORE_PROJECT_COMMIT" value="false"/>
+ <option name="OPTIMIZE_IMPORTS_BEFORE_FILE_COMMIT" value="false"/>
+ <option name="REFORMAT_BEFORE_PROJECT_COMMIT" value="false"/>
+ <option name="REFORMAT_BEFORE_FILE_COMMIT" value="false"/>
+ <option name="FILE_HISTORY_DIALOG_COMMENTS_SPLITTER_PROPORTION" value="0.8"/>
+ <option name="FILE_HISTORY_DIALOG_SPLITTER_PROPORTION" value="0.5"/>
+ </component>
+</project>
diff --git a/calamus-jenkins-plugin/pom.xml b/calamus-jenkins-plugin/pom.xml
new file mode 100644
index 0000000..42cc378
--- /dev/null
+++ b/calamus-jenkins-plugin/pom.xml
@@ -0,0 +1,71 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <!--
+ <parent>
+ <groupId>io.trygvis.calamus</groupId>
+ <artifactId>calamus</artifactId>
+ <version>1.0-SNAPSHOT</version>
+ </parent>
+ -->
+ <parent>
+ <groupId>org.jenkins-ci.plugins</groupId>
+ <artifactId>plugin</artifactId>
+ <version>1.558</version>
+ </parent>
+ <artifactId>calamus-jenkins-pipeline</artifactId>
+ <packaging>${hpi.type}</packaging>
+
+ <properties>
+ <version.activemq>5.9.1</version.activemq>
+ <hpi.type>hpi</hpi.type>
+ </properties>
+
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.activemq</groupId>
+ <artifactId>activemq-client</artifactId>
+ <version>${version.activemq}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.activemq</groupId>
+ <artifactId>activemq-pool</artifactId>
+ <version>${version.activemq}</version>
+ </dependency>
+ </dependencies>
+
+ <repositories>
+ <repository>
+ <id>repo.jenkins-ci.org</id>
+ <url>http://repo.jenkins-ci.org/public/</url>
+ </repository>
+ </repositories>
+
+ <pluginRepositories>
+ <pluginRepository>
+ <id>repo.jenkins-ci.org</id>
+ <url>http://repo.jenkins-ci.org/public/</url>
+ </pluginRepository>
+ </pluginRepositories>
+
+ <build>
+ <plugins>
+ <plugin>
+ <artifactId>maven-compiler-plugin</artifactId>
+ <configuration>
+ <source>1.7</source>
+ <target>1.7</target>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+
+ <profiles>
+ <profile>
+ <id>idea</id>
+ <properties>
+ <hpi.type>jar</hpi.type>
+ </properties>
+ </profile>
+ </profiles>
+</project>
diff --git a/calamus-jenkins-plugin/src/main/java/org/jenkinsci/plugins/calamus/HelloWorldBuilder.java b/calamus-jenkins-plugin/src/main/java/org/jenkinsci/plugins/calamus/HelloWorldBuilder.java
new file mode 100644
index 0000000..5844a26
--- /dev/null
+++ b/calamus-jenkins-plugin/src/main/java/org/jenkinsci/plugins/calamus/HelloWorldBuilder.java
@@ -0,0 +1,152 @@
+package org.jenkinsci.plugins.calamus;
+
+import hudson.Launcher;
+import hudson.Extension;
+import hudson.util.FormValidation;
+import hudson.model.AbstractBuild;
+import hudson.model.BuildListener;
+import hudson.model.AbstractProject;
+import hudson.tasks.Builder;
+import hudson.tasks.BuildStepDescriptor;
+import net.sf.json.JSONObject;
+import org.kohsuke.stapler.DataBoundConstructor;
+import org.kohsuke.stapler.StaplerRequest;
+import org.kohsuke.stapler.QueryParameter;
+
+import javax.servlet.ServletException;
+import java.io.IOException;
+
+/**
+ * Sample {@link Builder}.
+ *
+ * <p>
+ * When the user configures the project and enables this builder,
+ * {@link DescriptorImpl#newInstance(StaplerRequest)} is invoked
+ * and a new {@link HelloWorldBuilder} is created. The created
+ * instance is persisted to the project configuration XML by using
+ * XStream, so this allows you to use instance fields (like {@link #name})
+ * to remember the configuration.
+ *
+ * <p>
+ * When a build is performed, the {@link #perform(AbstractBuild, Launcher, BuildListener)}
+ * method will be invoked.
+ *
+ * @author Kohsuke Kawaguchi
+ */
+public class HelloWorldBuilder extends Builder {
+
+ private final String name;
+
+ // Fields in config.jelly must match the parameter names in the "DataBoundConstructor"
+ @DataBoundConstructor
+ public HelloWorldBuilder(String name) {
+ this.name = name;
+ }
+
+ /**
+ * We'll use this from the <tt>config.jelly</tt>.
+ */
+ public String getName() {
+ return name;
+ }
+
+ @Override
+ public boolean perform(AbstractBuild build, Launcher launcher, BuildListener listener) {
+ // This is where you 'build' the project.
+ // Since this is a dummy, we just say 'hello world' and call that a build.
+
+ // This also shows how you can consult the global configuration of the builder
+ if (getDescriptor().getUseFrench())
+ listener.getLogger().println("Bonjour, "+name+"!");
+ else
+ listener.getLogger().println("Hello, "+name+"!");
+ return true;
+ }
+
+ // Overridden for better type safety.
+ // If your plugin doesn't really define any property on Descriptor,
+ // you don't have to do this.
+ @Override
+ public DescriptorImpl getDescriptor() {
+ return (DescriptorImpl)super.getDescriptor();
+ }
+
+ /**
+ * Descriptor for {@link HelloWorldBuilder}. Used as a singleton.
+ * The class is marked as public so that it can be accessed from views.
+ *
+ * <p>
+ * See <tt>src/main/resources/hudson/plugins/hello_world/HelloWorldBuilder/*.jelly</tt>
+ * for the actual HTML fragment for the configuration screen.
+ */
+ @Extension // This indicates to Jenkins that this is an implementation of an extension point.
+ public static final class DescriptorImpl extends BuildStepDescriptor<Builder> {
+ /**
+ * To persist global configuration information,
+ * simply store it in a field and call save().
+ *
+ * <p>
+ * If you don't want fields to be persisted, use <tt>transient</tt>.
+ */
+ private boolean useFrench;
+
+ /**
+ * In order to load the persisted global configuration, you have to
+ * call load() in the constructor.
+ */
+ public DescriptorImpl() {
+ load();
+ }
+
+ /**
+ * Performs on-the-fly validation of the form field 'name'.
+ *
+ * @param value
+ * This parameter receives the value that the user has typed.
+ * @return
+ * Indicates the outcome of the validation. This is sent to the browser.
+ */
+ public FormValidation doCheckName(@QueryParameter String value)
+ throws IOException, ServletException {
+ if (value.length() == 0)
+ return FormValidation.error("Please set a name");
+ if (value.length() < 4)
+ return FormValidation.warning("Isn't the name too short?");
+ return FormValidation.ok();
+ }
+
+ public boolean isApplicable(Class<? extends AbstractProject> aClass) {
+ // Indicates that this builder can be used with all kinds of project types
+ return true;
+ }
+
+ /**
+ * This human readable name is used in the configuration screen.
+ */
+ public String getDisplayName() {
+ return "Say hello world";
+ }
+
+ @Override
+ public boolean configure(StaplerRequest req, JSONObject formData) throws FormException {
+ // To persist global configuration information,
+ // set that to properties and call save().
+ useFrench = formData.getBoolean("useFrench");
+ // ^Can also use req.bindJSON(this, formData);
+ // (easier when there are many fields; need set* methods for this, like setUseFrench)
+ save();
+ return super.configure(req,formData);
+ }
+
+ /**
+ * This method returns true if the global configuration says we should speak French.
+ *
+ * The method name is bit awkward because global.jelly calls this method to determine
+ * the initial state of the checkbox by the naming convention.
+ */
+ public boolean getUseFrench() {
+ return useFrench;
+ }
+ }
+}
+
diff --git a/calamus-jenkins-plugin/src/main/java/org/jenkinsci/plugins/calamus/JbpmRunListener.java b/calamus-jenkins-plugin/src/main/java/org/jenkinsci/plugins/calamus/JbpmRunListener.java
new file mode 100644
index 0000000..2376516
--- /dev/null
+++ b/calamus-jenkins-plugin/src/main/java/org/jenkinsci/plugins/calamus/JbpmRunListener.java
@@ -0,0 +1,42 @@
+package org.jenkinsci.plugins.calamus;
+
+import hudson.Extension;
+import hudson.model.Build;
+import hudson.model.TaskListener;
+import hudson.model.listeners.RunListener;
+
+import javax.annotation.Nonnull;
+
+@Extension
+public class JbpmRunListener extends RunListener<Build> {
+
+ private final MqClient mqClient;
+
+ public JbpmRunListener() {
+ super(Build.class);
+
+ System.out.println("JbpmRunListener.JbpmRunListener");
+
+ mqClient = new MqClient("tcp://localhost:61616");
+ }
+
+ @Override
+ public void onCompleted(Build build, @Nonnull TaskListener listener) {
+ System.out.println("JbpmRunListener.onCompleted");
+ System.out.println("build = " + build);
+
+ System.out.println("build variables");
+ for (Object o : build.getBuildVariables().entrySet()) {
+ System.out.println(o);
+ }
+
+ mqClient.sendMessage(build.getProject().getName(), build.getNumber(), build.getResult().toString());
+
+// Jenkins jenkins = Jenkins.getInstance();
+// List<AbstractProject> projects = jenkins.getAllItems(AbstractProject.class);
+// for (AbstractProject project : projects) {
+// System.out.println("project.getPronoun() = " + project.getPronoun());
+// System.out.println("project.getName() = " + project.getName());
+// }
+ }
+}
diff --git a/calamus-jenkins-plugin/src/main/java/org/jenkinsci/plugins/calamus/MqClient.java b/calamus-jenkins-plugin/src/main/java/org/jenkinsci/plugins/calamus/MqClient.java
new file mode 100644
index 0000000..6ca4264
--- /dev/null
+++ b/calamus-jenkins-plugin/src/main/java/org/jenkinsci/plugins/calamus/MqClient.java
@@ -0,0 +1,48 @@
+package org.jenkinsci.plugins.calamus;
+
+import org.apache.activemq.ActiveMQConnectionFactory;
+
+import javax.jms.Connection;
+import javax.jms.DeliveryMode;
+import javax.jms.Destination;
+import javax.jms.JMSException;
+import javax.jms.MapMessage;
+import javax.jms.MessageProducer;
+import javax.jms.Session;
+
+import static javax.jms.Session.AUTO_ACKNOWLEDGE;
+
+public class MqClient {
+
+ ActiveMQConnectionFactory connectionFactory;
+
+ public MqClient(String brokerUrl) {
+ this.connectionFactory = new ActiveMQConnectionFactory(brokerUrl);
+ }
+
+ public void sendMessage(String jobName, int buildNumber, String result) {
+ try {
+ Connection connection = connectionFactory.createConnection();
+ connection.start();
+
+ Session session = connection.createSession(false, AUTO_ACKNOWLEDGE);
+
+ Destination destination = session.createQueue("jenkins.build-result");
+
+ MessageProducer producer = session.createProducer(destination);
+ producer.setDeliveryMode(DeliveryMode.NON_PERSISTENT);
+
+ MapMessage message = session.createMapMessage();
+ message.setString("jobName", jobName);
+ message.setInt("buildNumber", buildNumber);
+ message.setString("result", result);
+
+ producer.send(message);
+
+ session.close();
+ connection.close();
+ } catch (JMSException e) {
+ e.printStackTrace();
+ }
+ }
+}
diff --git a/calamus-jenkins-plugin/src/main/resources/index.jelly b/calamus-jenkins-plugin/src/main/resources/index.jelly
new file mode 100644
index 0000000..538998f
--- /dev/null
+++ b/calamus-jenkins-plugin/src/main/resources/index.jelly
@@ -0,0 +1,6 @@
+<!--
+ This view is used to render the installed plugins page.
+-->
+<div>
+ This plugin is a sample to explain how to write a Jenkins plugin.
+</div>
diff --git a/calamus-jenkins-plugin/src/main/resources/org/jenkinsci/plugins/calamus/HelloWorldBuilder/config.jelly b/calamus-jenkins-plugin/src/main/resources/org/jenkinsci/plugins/calamus/HelloWorldBuilder/config.jelly
new file mode 100644
index 0000000..491280c
--- /dev/null
+++ b/calamus-jenkins-plugin/src/main/resources/org/jenkinsci/plugins/calamus/HelloWorldBuilder/config.jelly
@@ -0,0 +1,15 @@
+<j:jelly xmlns:j="jelly:core" xmlns:st="jelly:stapler" xmlns:d="jelly:define" xmlns:l="/lib/layout" xmlns:t="/lib/hudson" xmlns:f="/lib/form">
+ <!--
+ This jelly script is used for per-project configuration.
+
+ See global.jelly for a general discussion about jelly script.
+ -->
+
+ <!--
+ Creates a text field that shows the value of the "name" property.
+ When submitted, it will be passed to the corresponding constructor parameter.
+ -->
+ <f:entry title="Name" field="name">
+ <f:textbox />
+ </f:entry>
+</j:jelly>
diff --git a/calamus-jenkins-plugin/src/main/resources/org/jenkinsci/plugins/calamus/HelloWorldBuilder/global.jelly b/calamus-jenkins-plugin/src/main/resources/org/jenkinsci/plugins/calamus/HelloWorldBuilder/global.jelly
new file mode 100644
index 0000000..068b0c0
--- /dev/null
+++ b/calamus-jenkins-plugin/src/main/resources/org/jenkinsci/plugins/calamus/HelloWorldBuilder/global.jelly
@@ -0,0 +1,20 @@
+<j:jelly xmlns:j="jelly:core" xmlns:st="jelly:stapler" xmlns:d="jelly:define" xmlns:l="/lib/layout" xmlns:t="/lib/hudson" xmlns:f="/lib/form">
+ <!--
+ This Jelly script is used to produce the global configuration option.
+
+ Jenkins uses a set of tag libraries to provide uniformity in forms.
+ To determine where this tag is defined, first check the namespace URI,
+ and then look under $JENKINS/views/. For example, <f:section> is defined
+ in $JENKINS/views/lib/form/section.jelly.
+
+ It's also often useful to just check other similar scripts to see what
+ tags they use. Views are always organized according to its owner class,
+ so it should be straightforward to find them.
+ -->
+ <f:section title="Hello World Builder">
+ <f:entry title="French" field="useFrench"
+ description="Check if we should say hello in French">
+ <f:checkbox />
+ </f:entry>
+ </f:section>
+</j:jelly>
diff --git a/calamus-jenkins-plugin/src/main/resources/org/jenkinsci/plugins/calamus/HelloWorldBuilder/help-name.html b/calamus-jenkins-plugin/src/main/resources/org/jenkinsci/plugins/calamus/HelloWorldBuilder/help-name.html
new file mode 100644
index 0000000..288f214
--- /dev/null
+++ b/calamus-jenkins-plugin/src/main/resources/org/jenkinsci/plugins/calamus/HelloWorldBuilder/help-name.html
@@ -0,0 +1,6 @@
+<div>
+ Help file for fields are discovered through a file name convention. This file is
+ help for the "name" field. You can have <i>arbitrary</i> HTML here. You can write
+ this file as a Jelly script if you need a dynamic content (but if you do so, change
+ the extension to <tt>.jelly</tt>).
+</div>
diff --git a/calamus-jenkins-plugin/src/main/resources/org/jenkinsci/plugins/calamus/HelloWorldBuilder/help-useFrench.html b/calamus-jenkins-plugin/src/main/resources/org/jenkinsci/plugins/calamus/HelloWorldBuilder/help-useFrench.html
new file mode 100644
index 0000000..df2e815
--- /dev/null
+++ b/calamus-jenkins-plugin/src/main/resources/org/jenkinsci/plugins/calamus/HelloWorldBuilder/help-useFrench.html
@@ -0,0 +1,6 @@
+<div>
+ This HTML fragment will be injected into the configuration screen
+ when the user clicks the 'help' icon. See global.jelly for how the
+ form decides which page to load.
+ You can have any <tt>HTML</tt> fragment here.
+</div>