Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
A
aliyun-oss-uploader
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Service Desk
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Metrics
Incidents
Environments
Packages & Registries
Packages & Registries
Package Registry
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
tools
aliyun-oss-uploader
Commits
4713f40d
Commit
4713f40d
authored
Jun 05, 2019
by
raylax
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
initial
parents
Changes
18
Hide whitespace changes
Inline
Side-by-side
Showing
18 changed files
with
1041 additions
and
0 deletions
+1041
-0
.gitignore
.gitignore
+30
-0
.mvn/wrapper/MavenWrapperDownloader.java
.mvn/wrapper/MavenWrapperDownloader.java
+117
-0
.mvn/wrapper/maven-wrapper.jar
.mvn/wrapper/maven-wrapper.jar
+0
-0
.mvn/wrapper/maven-wrapper.properties
.mvn/wrapper/maven-wrapper.properties
+2
-0
mvnw
mvnw
+310
-0
mvnw.cmd
mvnw.cmd
+182
-0
pom.xml
pom.xml
+112
-0
src/main/java/org/inurl/jenkins/plugin/OSSPublisher.java
src/main/java/org/inurl/jenkins/plugin/OSSPublisher.java
+134
-0
src/main/resources/index.jelly
src/main/resources/index.jelly
+4
-0
src/main/resources/org/inurl/jenkins/plugin/Messages.properties
...in/resources/org/inurl/jenkins/plugin/Messages.properties
+9
-0
src/main/resources/org/inurl/jenkins/plugin/Messages_zh.properties
...resources/org/inurl/jenkins/plugin/Messages_zh.properties
+9
-0
src/main/resources/org/inurl/jenkins/plugin/OSSPublisher/config.jelly
...ources/org/inurl/jenkins/plugin/OSSPublisher/config.jelly
+27
-0
src/main/resources/org/inurl/jenkins/plugin/OSSPublisher/config.properties
...s/org/inurl/jenkins/plugin/OSSPublisher/config.properties
+7
-0
src/main/resources/org/inurl/jenkins/plugin/OSSPublisher/config_zh.properties
...rg/inurl/jenkins/plugin/OSSPublisher/config_zh.properties
+7
-0
src/main/resources/org/inurl/jenkins/plugin/OSSPublisher/help-accessKeyId.html
...g/inurl/jenkins/plugin/OSSPublisher/help-accessKeyId.html
+4
-0
src/main/resources/org/inurl/jenkins/plugin/OSSPublisher/help-accessKeySecret.html
...url/jenkins/plugin/OSSPublisher/help-accessKeySecret.html
+4
-0
src/main/resources/org/inurl/jenkins/plugin/OSSPublisher/help-endpoint.html
.../org/inurl/jenkins/plugin/OSSPublisher/help-endpoint.html
+4
-0
src/test/java/org/inurl/jenkins/plugin/HelloWorldBuilderTest.java
.../java/org/inurl/jenkins/plugin/HelloWorldBuilderTest.java
+79
-0
No files found.
.gitignore
0 → 100644
View file @
4713f40d
/target/
!.mvn/wrapper/maven-wrapper.jar
/work/
### STS ###
.apt_generated
.classpath
.factorypath
.project
.settings
.springBeans
.sts4-cache
### IntelliJ IDEA ###
.idea
*.iws
*.iml
*.ipr
### NetBeans ###
/nbproject/private/
/nbbuild/
/dist/
/nbdist/
/.nb-gradle/
/build/
### VS Code ###
.vscode/
\ No newline at end of file
.mvn/wrapper/MavenWrapperDownloader.java
0 → 100644
View file @
4713f40d
/*
* Copyright 2007-present the original author or authors.
*
* Licensed 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.
*/
import
java.net.*
;
import
java.io.*
;
import
java.nio.channels.*
;
import
java.util.Properties
;
public
class
MavenWrapperDownloader
{
private
static
final
String
WRAPPER_VERSION
=
"0.5.5"
;
/**
* Default URL to download the maven-wrapper.jar from, if no 'downloadUrl' is provided.
*/
private
static
final
String
DEFAULT_DOWNLOAD_URL
=
"https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/"
+
WRAPPER_VERSION
+
"/maven-wrapper-"
+
WRAPPER_VERSION
+
".jar"
;
/**
* Path to the maven-wrapper.properties file, which might contain a downloadUrl property to
* use instead of the default one.
*/
private
static
final
String
MAVEN_WRAPPER_PROPERTIES_PATH
=
".mvn/wrapper/maven-wrapper.properties"
;
/**
* Path where the maven-wrapper.jar will be saved to.
*/
private
static
final
String
MAVEN_WRAPPER_JAR_PATH
=
".mvn/wrapper/maven-wrapper.jar"
;
/**
* Name of the property which should be used to override the default download url for the wrapper.
*/
private
static
final
String
PROPERTY_NAME_WRAPPER_URL
=
"wrapperUrl"
;
public
static
void
main
(
String
args
[])
{
System
.
out
.
println
(
"- Downloader started"
);
File
baseDirectory
=
new
File
(
args
[
0
]);
System
.
out
.
println
(
"- Using base directory: "
+
baseDirectory
.
getAbsolutePath
());
// If the maven-wrapper.properties exists, read it and check if it contains a custom
// wrapperUrl parameter.
File
mavenWrapperPropertyFile
=
new
File
(
baseDirectory
,
MAVEN_WRAPPER_PROPERTIES_PATH
);
String
url
=
DEFAULT_DOWNLOAD_URL
;
if
(
mavenWrapperPropertyFile
.
exists
())
{
FileInputStream
mavenWrapperPropertyFileInputStream
=
null
;
try
{
mavenWrapperPropertyFileInputStream
=
new
FileInputStream
(
mavenWrapperPropertyFile
);
Properties
mavenWrapperProperties
=
new
Properties
();
mavenWrapperProperties
.
load
(
mavenWrapperPropertyFileInputStream
);
url
=
mavenWrapperProperties
.
getProperty
(
PROPERTY_NAME_WRAPPER_URL
,
url
);
}
catch
(
IOException
e
)
{
System
.
out
.
println
(
"- ERROR loading '"
+
MAVEN_WRAPPER_PROPERTIES_PATH
+
"'"
);
}
finally
{
try
{
if
(
mavenWrapperPropertyFileInputStream
!=
null
)
{
mavenWrapperPropertyFileInputStream
.
close
();
}
}
catch
(
IOException
e
)
{
// Ignore ...
}
}
}
System
.
out
.
println
(
"- Downloading from: "
+
url
);
File
outputFile
=
new
File
(
baseDirectory
.
getAbsolutePath
(),
MAVEN_WRAPPER_JAR_PATH
);
if
(!
outputFile
.
getParentFile
().
exists
())
{
if
(!
outputFile
.
getParentFile
().
mkdirs
())
{
System
.
out
.
println
(
"- ERROR creating output directory '"
+
outputFile
.
getParentFile
().
getAbsolutePath
()
+
"'"
);
}
}
System
.
out
.
println
(
"- Downloading to: "
+
outputFile
.
getAbsolutePath
());
try
{
downloadFileFromURL
(
url
,
outputFile
);
System
.
out
.
println
(
"Done"
);
System
.
exit
(
0
);
}
catch
(
Throwable
e
)
{
System
.
out
.
println
(
"- Error downloading"
);
e
.
printStackTrace
();
System
.
exit
(
1
);
}
}
private
static
void
downloadFileFromURL
(
String
urlString
,
File
destination
)
throws
Exception
{
if
(
System
.
getenv
(
"MVNW_USERNAME"
)
!=
null
&&
System
.
getenv
(
"MVNW_PASSWORD"
)
!=
null
)
{
String
username
=
System
.
getenv
(
"MVNW_USERNAME"
);
char
[]
password
=
System
.
getenv
(
"MVNW_PASSWORD"
).
toCharArray
();
Authenticator
.
setDefault
(
new
Authenticator
()
{
@Override
protected
PasswordAuthentication
getPasswordAuthentication
()
{
return
new
PasswordAuthentication
(
username
,
password
);
}
});
}
URL
website
=
new
URL
(
urlString
);
ReadableByteChannel
rbc
;
rbc
=
Channels
.
newChannel
(
website
.
openStream
());
FileOutputStream
fos
=
new
FileOutputStream
(
destination
);
fos
.
getChannel
().
transferFrom
(
rbc
,
0
,
Long
.
MAX_VALUE
);
fos
.
close
();
rbc
.
close
();
}
}
.mvn/wrapper/maven-wrapper.jar
0 → 100644
View file @
4713f40d
File added
.mvn/wrapper/maven-wrapper.properties
0 → 100644
View file @
4713f40d
distributionUrl
=
https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.6.1/apache-maven-3.6.1-bin.zip
wrapperUrl
=
https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.5/maven-wrapper-0.5.5.jar
mvnw
0 → 100644
View file @
4713f40d
#!/bin/sh
# ----------------------------------------------------------------------------
# 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.
# ----------------------------------------------------------------------------
# ----------------------------------------------------------------------------
# Maven2 Start Up Batch script
#
# Required ENV vars:
# ------------------
# JAVA_HOME - location of a JDK home dir
#
# Optional ENV vars
# -----------------
# M2_HOME - location of maven2's installed home dir
# MAVEN_OPTS - parameters passed to the Java VM when running Maven
# e.g. to debug Maven itself, use
# set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000
# MAVEN_SKIP_RC - flag to disable loading of mavenrc files
# ----------------------------------------------------------------------------
if
[
-z
"
$MAVEN_SKIP_RC
"
]
;
then
if
[
-f
/etc/mavenrc
]
;
then
.
/etc/mavenrc
fi
if
[
-f
"
$HOME
/.mavenrc"
]
;
then
.
"
$HOME
/.mavenrc"
fi
fi
# OS specific support. $var _must_ be set to either true or false.
cygwin
=
false
;
darwin
=
false
;
mingw
=
false
case
"
`
uname
`
"
in
CYGWIN
*
)
cygwin
=
true
;;
MINGW
*
)
mingw
=
true
;;
Darwin
*
)
darwin
=
true
# Use /usr/libexec/java_home if available, otherwise fall back to /Library/Java/Home
# See https://developer.apple.com/library/mac/qa/qa1170/_index.html
if
[
-z
"
$JAVA_HOME
"
]
;
then
if
[
-x
"/usr/libexec/java_home"
]
;
then
export
JAVA_HOME
=
"
`
/usr/libexec/java_home
`
"
else
export
JAVA_HOME
=
"/Library/Java/Home"
fi
fi
;;
esac
if
[
-z
"
$JAVA_HOME
"
]
;
then
if
[
-r
/etc/gentoo-release
]
;
then
JAVA_HOME
=
`
java-config
--jre-home
`
fi
fi
if
[
-z
"
$M2_HOME
"
]
;
then
## resolve links - $0 may be a link to maven's home
PRG
=
"
$0
"
# need this for relative symlinks
while
[
-h
"
$PRG
"
]
;
do
ls
=
`
ls
-ld
"
$PRG
"
`
link
=
`
expr
"
$ls
"
:
'.*-> \(.*\)$'
`
if
expr
"
$link
"
:
'/.*'
>
/dev/null
;
then
PRG
=
"
$link
"
else
PRG
=
"
`
dirname
"
$PRG
"
`
/
$link
"
fi
done
saveddir
=
`
pwd
`
M2_HOME
=
`
dirname
"
$PRG
"
`
/..
# make it fully qualified
M2_HOME
=
`
cd
"
$M2_HOME
"
&&
pwd
`
cd
"
$saveddir
"
# echo Using m2 at $M2_HOME
fi
# For Cygwin, ensure paths are in UNIX format before anything is touched
if
$cygwin
;
then
[
-n
"
$M2_HOME
"
]
&&
M2_HOME
=
`
cygpath
--unix
"
$M2_HOME
"
`
[
-n
"
$JAVA_HOME
"
]
&&
JAVA_HOME
=
`
cygpath
--unix
"
$JAVA_HOME
"
`
[
-n
"
$CLASSPATH
"
]
&&
CLASSPATH
=
`
cygpath
--path
--unix
"
$CLASSPATH
"
`
fi
# For Mingw, ensure paths are in UNIX format before anything is touched
if
$mingw
;
then
[
-n
"
$M2_HOME
"
]
&&
M2_HOME
=
"
`
(
cd
"
$M2_HOME
"
;
pwd
)
`
"
[
-n
"
$JAVA_HOME
"
]
&&
JAVA_HOME
=
"
`
(
cd
"
$JAVA_HOME
"
;
pwd
)
`
"
fi
if
[
-z
"
$JAVA_HOME
"
]
;
then
javaExecutable
=
"
`
which javac
`
"
if
[
-n
"
$javaExecutable
"
]
&&
!
[
"
`
expr
\"
$javaExecutable
\"
:
'\([^ ]*\)'
`
"
=
"no"
]
;
then
# readlink(1) is not available as standard on Solaris 10.
readLink
=
`
which
readlink
`
if
[
!
`
expr
"
$readLink
"
:
'\([^ ]*\)'
`
=
"no"
]
;
then
if
$darwin
;
then
javaHome
=
"
`
dirname
\"
$javaExecutable
\"
`
"
javaExecutable
=
"
`
cd
\"
$javaHome
\"
&&
pwd
-P
`
/javac"
else
javaExecutable
=
"
`
readlink
-f
\"
$javaExecutable
\"
`
"
fi
javaHome
=
"
`
dirname
\"
$javaExecutable
\"
`
"
javaHome
=
`
expr
"
$javaHome
"
:
'\(.*\)/bin'
`
JAVA_HOME
=
"
$javaHome
"
export
JAVA_HOME
fi
fi
fi
if
[
-z
"
$JAVACMD
"
]
;
then
if
[
-n
"
$JAVA_HOME
"
]
;
then
if
[
-x
"
$JAVA_HOME
/jre/sh/java"
]
;
then
# IBM's JDK on AIX uses strange locations for the executables
JAVACMD
=
"
$JAVA_HOME
/jre/sh/java"
else
JAVACMD
=
"
$JAVA_HOME
/bin/java"
fi
else
JAVACMD
=
"
`
which java
`
"
fi
fi
if
[
!
-x
"
$JAVACMD
"
]
;
then
echo
"Error: JAVA_HOME is not defined correctly."
>
&2
echo
" We cannot execute
$JAVACMD
"
>
&2
exit
1
fi
if
[
-z
"
$JAVA_HOME
"
]
;
then
echo
"Warning: JAVA_HOME environment variable is not set."
fi
CLASSWORLDS_LAUNCHER
=
org.codehaus.plexus.classworlds.launcher.Launcher
# traverses directory structure from process work directory to filesystem root
# first directory with .mvn subdirectory is considered project base directory
find_maven_basedir
()
{
if
[
-z
"
$1
"
]
then
echo
"Path not specified to find_maven_basedir"
return
1
fi
basedir
=
"
$1
"
wdir
=
"
$1
"
while
[
"
$wdir
"
!=
'/'
]
;
do
if
[
-d
"
$wdir
"
/.mvn
]
;
then
basedir
=
$wdir
break
fi
# workaround for JBEAP-8937 (on Solaris 10/Sparc)
if
[
-d
"
${
wdir
}
"
]
;
then
wdir
=
`
cd
"
$wdir
/.."
;
pwd
`
fi
# end of workaround
done
echo
"
${
basedir
}
"
}
# concatenates all lines of a file
concat_lines
()
{
if
[
-f
"
$1
"
]
;
then
echo
"
$(
tr
-s
'\n'
' '
<
"
$1
"
)
"
fi
}
BASE_DIR
=
`
find_maven_basedir
"
$(
pwd
)
"
`
if
[
-z
"
$BASE_DIR
"
]
;
then
exit
1
;
fi
##########################################################################################
# Extension to allow automatically downloading the maven-wrapper.jar from Maven-central
# This allows using the maven wrapper in projects that prohibit checking in binary data.
##########################################################################################
if
[
-r
"
$BASE_DIR
/.mvn/wrapper/maven-wrapper.jar"
]
;
then
if
[
"
$MVNW_VERBOSE
"
=
true
]
;
then
echo
"Found .mvn/wrapper/maven-wrapper.jar"
fi
else
if
[
"
$MVNW_VERBOSE
"
=
true
]
;
then
echo
"Couldn't find .mvn/wrapper/maven-wrapper.jar, downloading it ..."
fi
if
[
-n
"
$MVNW_REPOURL
"
]
;
then
jarUrl
=
"
$MVNW_REPOURL
/io/takari/maven-wrapper/0.5.5/maven-wrapper-0.5.5.jar"
else
jarUrl
=
"https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.5/maven-wrapper-0.5.5.jar"
fi
while
IFS
=
"="
read
key value
;
do
case
"
$key
"
in
(
wrapperUrl
)
jarUrl
=
"
$value
"
;
break
;;
esac
done
<
"
$BASE_DIR
/.mvn/wrapper/maven-wrapper.properties"
if
[
"
$MVNW_VERBOSE
"
=
true
]
;
then
echo
"Downloading from:
$jarUrl
"
fi
wrapperJarPath
=
"
$BASE_DIR
/.mvn/wrapper/maven-wrapper.jar"
if
$cygwin
;
then
wrapperJarPath
=
`
cygpath
--path
--windows
"
$wrapperJarPath
"
`
fi
if
command
-v
wget
>
/dev/null
;
then
if
[
"
$MVNW_VERBOSE
"
=
true
]
;
then
echo
"Found wget ... using wget"
fi
if
[
-z
"
$MVNW_USERNAME
"
]
||
[
-z
"
$MVNW_PASSWORD
"
]
;
then
wget
"
$jarUrl
"
-O
"
$wrapperJarPath
"
else
wget
--http-user
=
$MVNW_USERNAME
--http-password
=
$MVNW_PASSWORD
"
$jarUrl
"
-O
"
$wrapperJarPath
"
fi
elif
command
-v
curl
>
/dev/null
;
then
if
[
"
$MVNW_VERBOSE
"
=
true
]
;
then
echo
"Found curl ... using curl"
fi
if
[
-z
"
$MVNW_USERNAME
"
]
||
[
-z
"
$MVNW_PASSWORD
"
]
;
then
curl
-o
"
$wrapperJarPath
"
"
$jarUrl
"
-f
else
curl
--user
$MVNW_USERNAME
:
$MVNW_PASSWORD
-o
"
$wrapperJarPath
"
"
$jarUrl
"
-f
fi
else
if
[
"
$MVNW_VERBOSE
"
=
true
]
;
then
echo
"Falling back to using Java to download"
fi
javaClass
=
"
$BASE_DIR
/.mvn/wrapper/MavenWrapperDownloader.java"
# For Cygwin, switch paths to Windows format before running javac
if
$cygwin
;
then
javaClass
=
`
cygpath
--path
--windows
"
$javaClass
"
`
fi
if
[
-e
"
$javaClass
"
]
;
then
if
[
!
-e
"
$BASE_DIR
/.mvn/wrapper/MavenWrapperDownloader.class"
]
;
then
if
[
"
$MVNW_VERBOSE
"
=
true
]
;
then
echo
" - Compiling MavenWrapperDownloader.java ..."
fi
# Compiling the Java class
(
"
$JAVA_HOME
/bin/javac"
"
$javaClass
"
)
fi
if
[
-e
"
$BASE_DIR
/.mvn/wrapper/MavenWrapperDownloader.class"
]
;
then
# Running the downloader
if
[
"
$MVNW_VERBOSE
"
=
true
]
;
then
echo
" - Running MavenWrapperDownloader.java ..."
fi
(
"
$JAVA_HOME
/bin/java"
-cp
.mvn/wrapper MavenWrapperDownloader
"
$MAVEN_PROJECTBASEDIR
"
)
fi
fi
fi
fi
##########################################################################################
# End of extension
##########################################################################################
export
MAVEN_PROJECTBASEDIR
=
${
MAVEN_BASEDIR
:-
"
$BASE_DIR
"
}
if
[
"
$MVNW_VERBOSE
"
=
true
]
;
then
echo
$MAVEN_PROJECTBASEDIR
fi
MAVEN_OPTS
=
"
$(
concat_lines
"
$MAVEN_PROJECTBASEDIR
/.mvn/jvm.config"
)
$MAVEN_OPTS
"
# For Cygwin, switch paths to Windows format before running java
if
$cygwin
;
then
[
-n
"
$M2_HOME
"
]
&&
M2_HOME
=
`
cygpath
--path
--windows
"
$M2_HOME
"
`
[
-n
"
$JAVA_HOME
"
]
&&
JAVA_HOME
=
`
cygpath
--path
--windows
"
$JAVA_HOME
"
`
[
-n
"
$CLASSPATH
"
]
&&
CLASSPATH
=
`
cygpath
--path
--windows
"
$CLASSPATH
"
`
[
-n
"
$MAVEN_PROJECTBASEDIR
"
]
&&
MAVEN_PROJECTBASEDIR
=
`
cygpath
--path
--windows
"
$MAVEN_PROJECTBASEDIR
"
`
fi
# Provide a "standardized" way to retrieve the CLI args that will
# work with both Windows and non-Windows executions.
MAVEN_CMD_LINE_ARGS
=
"
$MAVEN_CONFIG
$@
"
export
MAVEN_CMD_LINE_ARGS
WRAPPER_LAUNCHER
=
org.apache.maven.wrapper.MavenWrapperMain
exec
"
$JAVACMD
"
\
$MAVEN_OPTS
\
-classpath
"
$MAVEN_PROJECTBASEDIR
/.mvn/wrapper/maven-wrapper.jar"
\
"-Dmaven.home=
${
M2_HOME
}
"
"-Dmaven.multiModuleProjectDirectory=
${
MAVEN_PROJECTBASEDIR
}
"
\
${
WRAPPER_LAUNCHER
}
$MAVEN_CONFIG
"
$@
"
mvnw.cmd
0 → 100644
View file @
4713f40d
@REM ----------------------------------------------------------------------------
@REM Licensed to the Apache Software Foundation (ASF) under one
@REM or more contributor license agreements. See the NOTICE file
@REM distributed with this work for additional information
@REM regarding copyright ownership. The ASF licenses this file
@REM to you under the Apache License, Version 2.0 (the
@REM "License"); you may not use this file except in compliance
@REM with the License. You may obtain a copy of the License at
@REM
@REM http://www.apache.org/licenses/LICENSE-2.0
@REM
@REM Unless required by applicable law or agreed to in writing,
@REM software distributed under the License is distributed on an
@REM "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
@REM KIND, either express or implied. See the License for the
@REM specific language governing permissions and limitations
@REM under the License.
@REM ----------------------------------------------------------------------------
@REM ----------------------------------------------------------------------------
@REM Maven2 Start Up Batch script
@REM
@REM Required ENV vars:
@REM JAVA_HOME - location of a JDK home dir
@REM
@REM Optional ENV vars
@REM M2_HOME - location of maven2's installed home dir
@REM MAVEN_BATCH_ECHO - set to 'on' to enable the echoing of the batch commands
@REM MAVEN_BATCH_PAUSE - set to 'on' to wait for a key stroke before ending
@REM MAVEN_OPTS - parameters passed to the Java VM when running Maven
@REM e.g. to debug Maven itself, use
@REM set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000
@REM MAVEN_SKIP_RC - flag to disable loading of mavenrc files
@REM ----------------------------------------------------------------------------
@REM Begin all REM lines with '@' in case MAVEN_BATCH_ECHO is 'on'
@echo
off
@REM set title of command window
title
%
0
@REM enable echoing by setting MAVEN_BATCH_ECHO to 'on'
@if
"
%MAVEN_BATCH_ECHO%
"
==
"on"
echo
%MAVEN_BATCH_ECHO%
@REM set %HOME% to equivalent of $HOME
if
"
%HOME%
"
==
""
(
set
"HOME=
%HOMEDRIVE%%
HOMEPATH
%
"
)
@REM Execute a user defined script before this one
if
not
"
%MAVEN_SKIP_RC%
"
==
""
goto
skipRcPre
@REM check for pre script, once with legacy .bat ending and once with .cmd ending
if
exist
"
%HOME%
\mavenrc_pre.bat"
call
"
%HOME%
\mavenrc_pre.bat"
if
exist
"
%HOME%
\mavenrc_pre.cmd"
call
"
%HOME%
\mavenrc_pre.cmd"
:skipRcPre
@setlocal
set
ERROR_CODE
=
0
@REM To isolate internal variables from possible post scripts, we use another setlocal
@setlocal
@REM ==== START VALIDATION ====
if
not
"
%JAVA_HOME%
"
==
""
goto
OkJHome
echo
.
echo
Error
:
JAVA_HOME
not
found
in
your
environment
.
>&
2
echo
Please
set
the
JAVA_HOME
variable
in
your
environment
to
match
the
>&
2
echo
location
of
your
Java
installation
.
>&
2
echo
.
goto
error
:OkJHome
if
exist
"
%JAVA_HOME%
\bin\java.exe"
goto
init
echo
.
echo
Error
:
JAVA_HOME
is
set
to
an
invalid
directory
.
>&
2
echo
JAVA_HOME
=
"
%JAVA_HOME%
"
>&
2
echo
Please
set
the
JAVA_HOME
variable
in
your
environment
to
match
the
>&
2
echo
location
of
your
Java
installation
.
>&
2
echo
.
goto
error
@REM ==== END VALIDATION ====
:init
@REM Find the project base dir, i.e. the directory that contains the folder ".mvn".
@REM Fallback to current working directory if not found.
set
MAVEN_PROJECTBASEDIR
=
%MAVEN_BASEDIR%
IF
NOT
"
%MAVEN_PROJECTBASEDIR%
"
==
""
goto
endDetectBaseDir
set
EXEC_DIR
=
%CD%
set
WDIR
=
%EXEC_DIR%
:findBaseDir
IF
EXIST
"
%WDIR%
"
\.mvn
goto
baseDirFound
cd
..
IF
"
%WDIR%
"
==
"
%CD%
"
goto
baseDirNotFound
set
WDIR
=
%CD%
goto
findBaseDir
:baseDirFound
set
MAVEN_PROJECTBASEDIR
=
%WDIR%
cd
"
%EXEC_DIR%
"
goto
endDetectBaseDir
:baseDirNotFound
set
MAVEN_PROJECTBASEDIR
=
%EXEC_DIR%
cd
"
%EXEC_DIR%
"
:endDetectBaseDir
IF
NOT
EXIST
"
%MAVEN_PROJECTBASEDIR%
\.mvn\jvm.config"
goto
endReadAdditionalConfig
@setlocal
EnableExtensions
EnableDelayedExpansion
for
/F
"usebackq delims="
%%a
in
(
"
%MAVEN_PROJECTBASEDIR%
\.mvn\jvm.config"
)
do
set
JVM_CONFIG_MAVEN_PROPS
=
!JVM_CONFIG_MAVEN_PROPS!
%%a
@endlocal
&
set
JVM_CONFIG_MAVEN_PROPS
=
%JVM_CONFIG_MAVEN_PROPS%
:endReadAdditionalConfig
SET
MAVEN_JAVA_EXE
=
"
%JAVA_HOME%
\bin\java.exe"
set
WRAPPER_JAR
=
"
%MAVEN_PROJECTBASEDIR%
\.mvn\wrapper\maven-wrapper.jar"
set
WRAPPER_LAUNCHER
=
org
.apache.maven.wrapper.MavenWrapperMain
set
DOWNLOAD_URL
=
"https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.5/maven-wrapper-0.5.5.jar"
FOR
/F
"tokens=1,2 delims=="
%%A
IN
(
"
%MAVEN_PROJECTBASEDIR%
\.mvn\wrapper\maven-wrapper.properties"
)
DO
(
IF
"
%%A
"
==
"wrapperUrl"
SET
DOWNLOAD_URL
=
%%B
)
@REM Extension to allow automatically downloading the maven-wrapper.jar from Maven-central
@REM This allows using the maven wrapper in projects that prohibit checking in binary data.
if
exist
%WRAPPER_JAR%
(
if
"
%MVNW_VERBOSE%
"
==
"true"
(
echo
Found
%WRAPPER_JAR%
)
)
else
(
if
not
"
%MVNW_REPOURL%
"
==
""
(
SET
DOWNLOAD_URL
=
"
%MVNW_REPOURL%
/io/takari/maven-wrapper/0.5.5/maven-wrapper-0.5.5.jar"
)
if
"
%MVNW_VERBOSE%
"
==
"true"
(
echo
Couldn
't find
%WRAPPER_JAR%
, downloading it ...
echo Downloading from:
%DOWNLOAD_URL%
)
powershell -Command "&{"
^
"$webclient = new-object System.Net.WebClient;"
^
"if (-not ([string]::IsNullOrEmpty('
%MVNW_USERNAME%
') -and [string]::IsNullOrEmpty('
%MVNW_PASSWORD%
'))) {"
^
"$webclient.Credentials = new-object System.Net.NetworkCredential('
%MVNW_USERNAME%
', '
%MVNW_PASSWORD%
');"
^
"}"
^
"[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; $webclient.DownloadFile('
%DOWNLOAD_URL%
', '
%WRAPPER_JAR%
')"
^
"}"
if "
%MVNW_VERBOSE%
" == "true" (
echo Finished downloading
%WRAPPER_JAR%
)
)
@REM End of extension
@REM Provide a "standardized" way to retrieve the CLI args that will
@REM work with both Windows and non-Windows executions.
set MAVEN_CMD_LINE_ARGS=
%
*
%MAVEN_JAVA_EXE%
%JVM_CONFIG_MAVEN_PROPS%
%MAVEN_OPTS%
%MAVEN_DEBUG_OPTS%
-classpath
%WRAPPER_JAR%
"-Dmaven.multiModuleProjectDirectory=
%MAVEN_PROJECTBASEDIR%
"
%WRAPPER_LAUNCHER%
%MAVEN_CONFIG%
%
*
if ERRORLEVEL 1 goto error
goto end
:error
set ERROR_CODE=1
:end
@endlocal & set ERROR_CODE=
%ERROR_CODE%
if not "
%MAVEN_SKIP_RC%
" == "" goto skipRcPost
@REM check for post script, once with legacy .bat ending and once with .cmd ending
if exist "
%HOME%
\mavenrc_post.bat" call "
%HOME%
\mavenrc_post.bat"
if exist "
%HOME%
\mavenrc_post.cmd" call "
%HOME%
\mavenrc_post.cmd"
:skipRcPost
@REM pause the script if MAVEN_BATCH_PAUSE is set to '
on
'
if "
%MAVEN_BATCH_PAUSE%
" == "on" pause
if "
%MAVEN_TERMINATE_CMD%
" == "on" exit
%ERROR_CODE%
exit /B
%ERROR_CODE%
pom.xml
0 → 100644
View file @
4713f40d
<?xml version="1.0" encoding="UTF-8"?>
<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>
org.jenkins-ci.plugins
</groupId>
<artifactId>
plugin
</artifactId>
<version>
3.4
</version>
<relativePath
/>
</parent>
<groupId>
io.jenkins.plugins
</groupId>
<artifactId>
aliyun-oss-plugin
</artifactId>
<version>
1.0-SNAPSHOT
</version>
<packaging>
hpi
</packaging>
<properties>
<!-- Baseline Jenkins version you use to build the plugin. Users must have this version or newer to run. -->
<jenkins.version>
2.7.3
</jenkins.version>
<java.level>
7
</java.level>
<!-- Other properties you may want to use:
~ jenkins-test-harness.version: Jenkins Test Harness version you use to test the plugin. For Jenkins version >= 1.580.1 use JTH 2.0 or higher.
~ hpi-plugin.version: The HPI Maven Plugin version used by the plugin..
~ stapler-plugin.version: The Stapler Maven plugin version required by the plugin.
-->
</properties>
<name>
TODO Plugin
</name>
<description>
TODO
</description>
<!-- The default licence for Jenkins OSS Plugins is MIT. Substitute for the applicable one if needed. -->
<licenses>
<license>
<name>
MIT License
</name>
<url>
https://opensource.org/licenses/MIT
</url>
</license>
</licenses>
<dependencies>
<dependency>
<groupId>
org.jenkins-ci.plugins
</groupId>
<artifactId>
structs
</artifactId>
<version>
1.7
</version>
</dependency>
<dependency>
<groupId>
org.jenkins-ci.plugins.workflow
</groupId>
<artifactId>
workflow-step-api
</artifactId>
<version>
2.12
</version>
<scope>
test
</scope>
</dependency>
<dependency>
<groupId>
org.jenkins-ci.plugins.workflow
</groupId>
<artifactId>
workflow-cps
</artifactId>
<version>
2.39
</version>
<scope>
test
</scope>
</dependency>
<dependency>
<groupId>
org.jenkins-ci.plugins.workflow
</groupId>
<artifactId>
workflow-job
</artifactId>
<version>
2.11.2
</version>
<scope>
test
</scope>
</dependency>
<dependency>
<groupId>
org.jenkins-ci.plugins.workflow
</groupId>
<artifactId>
workflow-basic-steps
</artifactId>
<version>
2.6
</version>
<scope>
test
</scope>
</dependency>
<dependency>
<groupId>
org.jenkins-ci.plugins.workflow
</groupId>
<artifactId>
workflow-durable-task-step
</artifactId>
<version>
2.13
</version>
<scope>
test
</scope>
</dependency>
<dependency>
<groupId>
org.jenkins-ci.plugins.workflow
</groupId>
<artifactId>
workflow-api
</artifactId>
<version>
2.20
</version>
<scope>
test
</scope>
</dependency>
<dependency>
<groupId>
org.jenkins-ci.plugins.workflow
</groupId>
<artifactId>
workflow-support
</artifactId>
<version>
2.14
</version>
<scope>
test
</scope>
</dependency>
</dependencies>
<!-- If you want this to appear on the wiki page:
<developers>
<developer>
<id>bhacker</id>
<name>Bob Q. Hacker</name>
<email>bhacker@nowhere.net</email>
</developer>
</developers> -->
<!-- Assuming you want to host on @jenkinsci:
<url>https://wiki.jenkins.io/display/JENKINS/TODO+Plugin</url>
<scm>
<connection>scm:git:git://github.com/jenkinsci/${project.artifactId}-plugin.git</connection>
<developerConnection>scm:git:git@github.com:jenkinsci/${project.artifactId}-plugin.git</developerConnection>
<url>https://github.com/jenkinsci/${project.artifactId}-plugin</url>
</scm>
-->
<repositories>
<repository>
<id>
repo.jenkins-ci.org
</id>
<url>
https://repo.jenkins-ci.org/public/
</url>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>
repo.jenkins-ci.org
</id>
<url>
https://repo.jenkins-ci.org/public/
</url>
</pluginRepository>
</pluginRepositories>
</project>
src/main/java/org/inurl/jenkins/plugin/OSSPublisher.java
0 → 100644
View file @
4713f40d
package
org.inurl.jenkins.plugin
;
import
hudson.FilePath
;
import
hudson.Launcher
;
import
hudson.model.Run
;
import
hudson.model.TaskListener
;
import
hudson.util.FormValidation
;
import
jenkins.tasks.SimpleBuildStep
;
import
org.apache.commons.lang.StringUtils
;
import
org.inurl.jenkins.plugin.Messages
;
import
hudson.Extension
;
import
hudson.model.AbstractProject
;
import
hudson.tasks.BuildStepDescriptor
;
import
hudson.tasks.BuildStepMonitor
;
import
hudson.tasks.Publisher
;
import
org.kohsuke.stapler.DataBoundConstructor
;
import
org.kohsuke.stapler.QueryParameter
;
import
javax.annotation.Nonnull
;
import
java.io.IOException
;
public
class
OSSPublisher
extends
Publisher
implements
SimpleBuildStep
{
private
final
String
endpoint
;
private
final
String
accessKeyId
;
private
final
String
accessKeySecret
;
private
final
String
bucketName
;
private
final
String
localPath
;
private
final
String
remotePath
;
public
String
getEndpoint
()
{
return
endpoint
;
}
public
String
getAccessKeyId
()
{
return
accessKeyId
;
}
public
String
getAccessKeySecret
()
{
return
accessKeySecret
;
}
public
String
getBucketName
()
{
return
bucketName
;
}
public
String
getLocalPath
()
{
return
localPath
;
}
public
String
getRemotePath
()
{
return
remotePath
;
}
@DataBoundConstructor
public
OSSPublisher
(
String
endpoint
,
String
accessKeyId
,
String
accessKeySecret
,
String
bucketName
,
String
localPath
,
String
remotePath
)
{
this
.
endpoint
=
endpoint
;
this
.
accessKeyId
=
accessKeyId
;
this
.
accessKeySecret
=
accessKeySecret
;
this
.
bucketName
=
bucketName
;
this
.
localPath
=
localPath
;
this
.
remotePath
=
remotePath
;
}
@Override
public
BuildStepMonitor
getRequiredMonitorService
()
{
return
BuildStepMonitor
.
NONE
;
}
@Override
public
void
perform
(
@Nonnull
Run
<?,
?>
run
,
@Nonnull
FilePath
workspace
,
@Nonnull
Launcher
launcher
,
@Nonnull
TaskListener
listener
)
throws
InterruptedException
,
IOException
{
listener
.
getLogger
().
println
(
"endpoint => "
+
endpoint
+
"!"
);
listener
.
getLogger
().
println
(
"accessKeyId => "
+
accessKeyId
+
"!"
);
listener
.
getLogger
().
println
(
"accessKeySecret => "
+
accessKeySecret
+
"!"
);
listener
.
getLogger
().
println
(
"bucketName => "
+
bucketName
+
"!"
);
listener
.
getLogger
().
println
(
"localPath => "
+
localPath
+
"!"
);
listener
.
getLogger
().
println
(
"remotePath => "
+
remotePath
+
"!"
);
}
@Extension
public
static
final
class
DescriptorImpl
extends
BuildStepDescriptor
<
Publisher
>
{
public
FormValidation
doCheckEndpoint
(
@QueryParameter
String
value
)
{
return
checkValue
(
value
,
Messages
.
OSSPublish_MissingEndpoint
());
}
public
FormValidation
doCheckAccessKeyId
(
@QueryParameter
String
value
)
{
return
checkValue
(
value
,
Messages
.
OSSPublish_MissingAccessKeyId
());
}
public
FormValidation
doCheckAccessKeySecret
(
@QueryParameter
String
value
)
{
return
checkValue
(
value
,
Messages
.
OSSPublish_MissingAccessKeySecret
());
}
public
FormValidation
doCheckBucketName
(
@QueryParameter
String
value
)
{
return
checkValue
(
value
,
Messages
.
OSSPublish_MissingBucketName
());
}
public
FormValidation
doCheckLocalPath
(
@QueryParameter
String
value
)
{
return
checkValue
(
value
,
Messages
.
OSSPublish_MissingLocalPath
());
}
public
FormValidation
doCheckRemotePath
(
@QueryParameter
String
value
)
{
return
checkValue
(
value
,
Messages
.
OSSPublish_MissingRemotePath
());
}
private
FormValidation
checkValue
(
String
value
,
String
message
)
{
if
(
StringUtils
.
isEmpty
(
value
))
{
return
FormValidation
.
error
(
message
);
}
return
FormValidation
.
ok
();
}
@Override
public
boolean
isApplicable
(
Class
<?
extends
AbstractProject
>
jobType
)
{
return
true
;
}
@Nonnull
@Override
public
String
getDisplayName
()
{
return
Messages
.
OSSPublish_DisplayName
();
}
}
}
src/main/resources/index.jelly
0 → 100644
View file @
4713f40d
<?jelly escape-by-default='true'?>
<div>
TODO
</div>
src/main/resources/org/inurl/jenkins/plugin/Messages.properties
0 → 100644
View file @
4713f40d
OSSPublish.DisplayName
=
Aliyun OSS Upload
OSSPublish.MissingEndpoint
=
Please set Endpoint
OSSPublish.MissingAccessKeyId
=
Please set AccessKeyId
OSSPublish.MissingAccessKeySecret
=
Please set AccessKeySecret
OSSPublish.MissingBucketName
=
Please set BucketName
OSSPublish.MissingLocalPath
=
Please set LocalPath
OSSPublish.MissingRemotePath
=
Please set RemotePath
\ No newline at end of file
src/main/resources/org/inurl/jenkins/plugin/Messages_zh.properties
0 → 100644
View file @
4713f40d
OSSPublish.DisplayName
=
\u
963f
\u
91cc
\u
4e91OSS
\u
4e0a
\u
4f20
OSSPublish.MissingEndpoint
=
\u
8bf7
\u
8bbe
\u
7f6eEndpoint
OSSPublish.MissingAccessKeyId
=
\u
8bf7
\u
8bbe
\u
7f6eAccessKeyId
OSSPublish.MissingAccessKeySecret
=
\u
8bf7
\u
8bbe
\u
7f6eAccessKeySecret
OSSPublish.MissingBucketName
=
\u
8bf7
\u
8bbe
\u
7f6eBucketName
OSSPublish.MissingLocalPath
=
\u
8bf7
\u
8bbe
\u
7f6eLocalPath
OSSPublish.MissingRemotePath
=
\u
8bf7
\u
8bbe
\u
7f6eRemotePath
\ No newline at end of file
src/main/resources/org/inurl/jenkins/plugin/OSSPublisher/config.jelly
0 → 100644
View file @
4713f40d
<?jelly escape-by-default='true'?>
<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">
<f:entry title="${%Endpoint}" field="endpoint">
<f:textbox />
</f:entry>
<f:entry title="${%AccessKeyId}" field="accessKeyId">
<f:textbox />
</f:entry>
<f:entry title="${%AccessKeySecret}" field="accessKeySecret">
<f:textbox />
</f:entry>
<f:entry title="${%BucketName}" field="bucketName">
<f:textbox />
</f:entry>
<f:entry title="${%LocalPath}" field="localPath">
<f:textbox />
</f:entry>
<f:entry title="${%RemotePath}" field="remotePath">
<f:textbox />
</f:entry>
<f:advanced>
<f:entry title="${%French}" field="useFrench"
description="${%FrenchDescr}">
<f:checkbox />
</f:entry>
</f:advanced>
</j:jelly>
src/main/resources/org/inurl/jenkins/plugin/OSSPublisher/config.properties
0 → 100644
View file @
4713f40d
Endpoint
=
Endpoint
AccessKeyId
=
AccessKeyId
AccessKeySecret
=
AccessKeySecret
BucketName
=
BucketName
LocalPath
=
Local Path
RemotePath
=
Remote Path
\ No newline at end of file
src/main/resources/org/inurl/jenkins/plugin/OSSPublisher/config_zh.properties
0 → 100644
View file @
4713f40d
Endpoint
=
Endpoint
AccessKeyId
=
AccessKeyId
AccessKeySecret
=
AccessKeySecret
BucketName
=
BucketName
LocalPath
=
\u
672c
\u5730\u
8def
\u
5f84
RemotePath
=
\u
8fdc
\u
7a0b
\u
8def
\u
5f84
\ No newline at end of file
src/main/resources/org/inurl/jenkins/plugin/OSSPublisher/help-accessKeyId.html
0 → 100644
View file @
4713f40d
<div>
Aliyun AccessKey
<br/>
<a
target=
"_blank"
href=
"https://usercenter.console.aliyun.com/#/manage/ak"
>
config
</a>
</div>
src/main/resources/org/inurl/jenkins/plugin/OSSPublisher/help-accessKeySecret.html
0 → 100644
View file @
4713f40d
<div>
Aliyun AccessKeySecret
<br/>
<a
target=
"_blank"
href=
"https://usercenter.console.aliyun.com/#/manage/ak"
>
config
</a>
</div>
src/main/resources/org/inurl/jenkins/plugin/OSSPublisher/help-endpoint.html
0 → 100644
View file @
4713f40d
<div>
Aliyun OSS Endpoint
<br/>
<a
target=
"_blank"
href=
"https://oss.console.aliyun.com"
>
config
</a>
</div>
src/test/java/org/inurl/jenkins/plugin/HelloWorldBuilderTest.java
0 → 100644
View file @
4713f40d
package
org.inurl.jenkins.plugin
;
import
hudson.model.FreeStyleBuild
;
import
hudson.model.FreeStyleProject
;
import
hudson.model.Label
;
import
org.jenkinsci.plugins.workflow.cps.CpsFlowDefinition
;
import
org.jenkinsci.plugins.workflow.job.WorkflowJob
;
import
org.jenkinsci.plugins.workflow.job.WorkflowRun
;
import
org.junit.Rule
;
import
org.junit.Test
;
import
org.jvnet.hudson.test.JenkinsRule
;
public
class
HelloWorldBuilderTest
{
@Rule
public
JenkinsRule
jenkins
=
new
JenkinsRule
();
final
String
name
=
"Bobby"
;
@Test
public
void
testConfigRoundtrip
()
throws
Exception
{
FreeStyleProject
project
=
jenkins
.
createFreeStyleProject
();
project
.
getBuildersList
().
add
(
new
HelloWorldBuilder
(
name
));
project
=
jenkins
.
configRoundtrip
(
project
);
jenkins
.
assertEqualDataBoundBeans
(
new
HelloWorldBuilder
(
name
),
project
.
getBuildersList
().
get
(
0
));
}
@Test
public
void
testConfigRoundtripFrench
()
throws
Exception
{
FreeStyleProject
project
=
jenkins
.
createFreeStyleProject
();
HelloWorldBuilder
builder
=
new
HelloWorldBuilder
(
name
);
builder
.
setUseFrench
(
true
);
project
.
getBuildersList
().
add
(
builder
);
project
=
jenkins
.
configRoundtrip
(
project
);
HelloWorldBuilder
lhs
=
new
HelloWorldBuilder
(
name
);
lhs
.
setUseFrench
(
true
);
jenkins
.
assertEqualDataBoundBeans
(
lhs
,
project
.
getBuildersList
().
get
(
0
));
}
@Test
public
void
testBuild
()
throws
Exception
{
FreeStyleProject
project
=
jenkins
.
createFreeStyleProject
();
HelloWorldBuilder
builder
=
new
HelloWorldBuilder
(
name
);
project
.
getBuildersList
().
add
(
builder
);
FreeStyleBuild
build
=
jenkins
.
buildAndAssertSuccess
(
project
);
jenkins
.
assertLogContains
(
"Hello, "
+
name
,
build
);
}
@Test
public
void
testBuildFrench
()
throws
Exception
{
FreeStyleProject
project
=
jenkins
.
createFreeStyleProject
();
HelloWorldBuilder
builder
=
new
HelloWorldBuilder
(
name
);
builder
.
setUseFrench
(
true
);
project
.
getBuildersList
().
add
(
builder
);
FreeStyleBuild
build
=
jenkins
.
buildAndAssertSuccess
(
project
);
jenkins
.
assertLogContains
(
"Bonjour, "
+
name
,
build
);
}
@Test
public
void
testScriptedPipeline
()
throws
Exception
{
String
agentLabel
=
"my-agent"
;
jenkins
.
createOnlineSlave
(
Label
.
get
(
agentLabel
));
WorkflowJob
job
=
jenkins
.
createProject
(
WorkflowJob
.
class
,
"test-scripted-pipeline"
);
String
pipelineScript
=
"node {\n"
+
" greet '"
+
name
+
"'\n"
+
"}"
;
job
.
setDefinition
(
new
CpsFlowDefinition
(
pipelineScript
,
true
));
WorkflowRun
completedBuild
=
jenkins
.
assertBuildStatusSuccess
(
job
.
scheduleBuild2
(
0
));
String
expectedString
=
"Hello, "
+
name
+
"!"
;
jenkins
.
assertLogContains
(
expectedString
,
completedBuild
);
}
}
\ No newline at end of file
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment