diff options
author | Trygve Laugstøl <trygvis@inamo.no> | 2014-04-12 17:55:28 +0200 |
---|---|---|
committer | Trygve Laugstøl <trygvis@inamo.no> | 2014-04-12 17:55:28 +0200 |
commit | bfcfcf5e3b4301bc94c27f47bfda61693edf3595 (patch) | |
tree | d6eedd800b1b34fd66ccbd86e5f215aaa40ccd3d /calamus-jenkins-plugin | |
download | calamus-bfcfcf5e3b4301bc94c27f47bfda61693edf3595.tar.gz calamus-bfcfcf5e3b4301bc94c27f47bfda61693edf3595.tar.bz2 calamus-bfcfcf5e3b4301bc94c27f47bfda61693edf3595.tar.xz calamus-bfcfcf5e3b4301bc94c27f47bfda61693edf3595.zip |
wip
Diffstat (limited to 'calamus-jenkins-plugin')
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> |