Compare commits

...

37 commits

Author SHA1 Message Date
3c44e51c84 Fixed badges. 2018-06-18 20:20:53 -07:00
fdd4601757 Added CircleCI 2.0 configuration. 2017-10-31 16:36:26 -07:00
9f3963b0f5 Kobalt 1.0.90, Kotlin-stdlib 1.1.51, Logging-Interceptor 3.9.0, TestNG 6.12 updates. 2017-10-31 16:36:04 -07:00
6e8d7839f9 Fixed images links for gogs. 2017-06-07 21:04:41 -07:00
f9fe8f3a7b Renamed Utils to VersionEyeUtils to avoid conflicts. 2017-06-04 00:24:41 -07:00
de6a80e760 Added release badge. 2017-05-30 15:18:36 -07:00
54822780ff Added cirlceci configuration. 2017-05-29 19:04:46 -07:00
0e3604638b Do not display project url for temporary projects. 2017-05-29 19:01:22 -07:00
3db287d98b Kobalt 1.0.86 update. 2017-05-29 19:00:31 -07:00
5957191058 Added ability to specify version number as an argument. 2017-04-26 20:02:35 -07:00
72e9fbec28 Don't save the projectKey if temp is specified. 2017-04-26 20:01:47 -07:00
0f995f08ca Changed to compileOnly for kobalt-plugin-api. 2017-04-26 20:01:11 -07:00
853fc484b6 Removed version number in plugin, for TravisCI. 2017-04-25 11:01:39 -07:00
b8ddfcd1d8 Prep for 0.4.5 release. 2017-04-25 10:35:56 -07:00
2443d54823 Added red, yellow, green tests. 2017-04-25 10:33:17 -07:00
062214c9e0 Kobalt 1.0.76 update. 2017-04-25 09:12:25 -07:00
b6443ffb01 Added clean shell script for testing. 2017-04-25 09:11:24 -07:00
53cff85983 Added pom.xml generation. 2017-04-25 09:11:06 -07:00
f5ab25b10e Added pom.xml 2017-04-25 05:59:06 -07:00
fb29ebc536 Added http logging in debug mode. 2017-04-19 17:03:41 -07:00
3a00c8bc1d Fixed test. 2017-04-19 17:02:15 -07:00
88d10348c2 Added tests. 2017-04-19 17:01:26 -07:00
5988206ba1 Kobalt 1.0.69 update. 2017-04-18 17:44:04 -07:00
90b91b67cb Formatting. 2017-04-18 17:43:44 -07:00
d6724a0a25 Changed Fiddler port. 2017-04-18 17:42:13 -07:00
ede8147c30 Cleanup. 2017-04-12 19:34:00 -07:00
ced0cf8f60 Added /libs. 2017-04-12 19:33:10 -07:00
6fa0ebb728 Cleanup. 2017-04-12 19:32:37 -07:00
47334faf09 Updated copyright scope to include tests.
Added more tests.
2017-03-27 10:56:13 -07:00
2e20251d85 Kobalt 1.0.30 update 2017-03-27 00:15:05 -07:00
66942d2a70 Added tests. 2017-03-27 00:12:21 -07:00
27e923991e Kobalt 1.0.30 update 2017-03-27 00:12:02 -07:00
00f46d688f IDEA project update. 2017-03-27 00:11:38 -07:00
89583ae243 Added before_cache 2017-03-21 18:42:21 -07:00
f22698e2e2 Updated to Kobalt 1.0.19 2017-03-21 15:25:29 -07:00
5696c9bf8f Updated scopes. 2017-03-08 13:12:41 -08:00
09b48a2f6e Updated license copyright. 2017-03-08 12:18:52 -08:00
26 changed files with 867 additions and 700 deletions

37
.circleci/config.yml Normal file
View file

@ -0,0 +1,37 @@
version: 2
jobs:
build:
docker:
- image: circleci/openjdk:8-jdk
working_directory: ~/repo
environment:
JVM_OPTS: -Xmx3200m
TERM: dumb
steps:
- checkout
- restore_cache:
keys:
- kobalt-dependencies-{{ checksum "kobalt/src/Build.kt" }}
# fallback to using the latest cache if no exact match is found
- kobalt-dependencies-
- run:
name: Check Versions
command: ./kobaltw checkVersions
- save_cache:
paths: ~/.kobalt
key: kobalt-dependencies-{{ checksum "kobalt/src/Build.kt" }}
- run:
name: Assemble & Test
command: ./kobaltw assemble test
- store_artifacts:
path: kobaltBuild/test-output/
destination: test-output
- store_test_results:
path: kobaltBuild/test-output/

5
.gitattributes vendored Normal file
View file

@ -0,0 +1,5 @@
# Set the default behavior, in case people don't have core.autocrlf set.
* text=auto
# batch files are specific to windows and always crlf
*.bat eol=crlf

6
.gitignore vendored
View file

@ -4,8 +4,9 @@
**/.idea/tasks.xml
**/.idea/workspace.xml
*.iws
.DS_Store
*.sublime-*
.classpath
.DS_Store
.gradle
.kobalt
.nb-gradle
@ -18,12 +19,13 @@
/example/libs
/gen
/gradle.properties
/libs
/out
/proguard-project.txt
/project.properties
/target
/test-output
Thumbs.db
ehthumbs.db
kobaltBuild
local.properties
Thumbs.db

View file

@ -1,5 +1,8 @@
<component name="CopyrightManager">
<settings default="Erik's Copyright Notice">
<module2copyright>
<element module="Copyright" copyright="Erik's Copyright Notice" />
</module2copyright>
<LanguageOptions name="Kotlin">
<option name="fileTypeOverride" value="3" />
<option name="addBlankAfter" value="false" />

2
.idea/kobalt.xml generated
View file

@ -5,7 +5,7 @@
<KobaltProjectSettings>
<option name="autoDownloadKobalt" value="true" />
<option name="externalProjectPath" value="$PROJECT_DIR$" />
<option name="kobaltHome" value="$USER_HOME$/.kobalt/wrapper/dist/kobalt-1.0.6" />
<option name="kobaltHome" value="$USER_HOME$/.kobalt/wrapper/dist/kobalt-1.0.87" />
<option name="modules">
<set>
<option value="$PROJECT_DIR$" />

2
.idea/misc.xml generated
View file

@ -38,7 +38,7 @@
<property name="caretWidth" class="java.lang.Integer" />
</properties>
</component>
<component name="ProjectRootManager" version="2" languageLevel="JDK_1_6" project-jdk-name="1.8.x" project-jdk-type="JavaSDK">
<component name="ProjectRootManager" version="2" languageLevel="JDK_1_8" project-jdk-name="1.8.x" project-jdk-type="JavaSDK">
<output url="file://$PROJECT_DIR$/kobaltBuild/classes" />
</component>
</project>

1
.idea/modules.xml generated
View file

@ -3,7 +3,6 @@
<component name="ProjectModuleManager">
<modules>
<module fileurl="file://$PROJECT_DIR$/kobalt/Build.kt.iml" filepath="$PROJECT_DIR$/kobalt/Build.kt.iml" />
<module fileurl="file://$PROJECT_DIR$/example/example.iml" filepath="$PROJECT_DIR$/example/example.iml" />
<module fileurl="file://$PROJECT_DIR$/kobalt-versioneye.iml" filepath="$PROJECT_DIR$/kobalt-versioneye.iml" />
</modules>
</component>

3
.idea/scopes/Copyright.xml generated Normal file
View file

@ -0,0 +1,3 @@
<component name="DependencyValidationManager">
<scope name="Copyright" pattern="file[kobalt-versioneye]:src/main/kotlin//*.kt||file[kobalt-versioneye]:src/test/kotlin//*.kt" />
</component>

View file

@ -1,3 +0,0 @@
<component name="DependencyValidationManager">
<scope name="Source" pattern="file[kobalt-versioneye]:src/main/kotlin//*.kt" />
</component>

124
.idea/uiDesigner.xml generated Normal file
View file

@ -0,0 +1,124 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="Palette2">
<group name="Swing">
<item class="com.intellij.uiDesigner.HSpacer" tooltip-text="Horizontal Spacer" icon="/com/intellij/uiDesigner/icons/hspacer.png" removable="false" auto-create-binding="false" can-attach-label="false">
<default-constraints vsize-policy="1" hsize-policy="6" anchor="0" fill="1" />
</item>
<item class="com.intellij.uiDesigner.VSpacer" tooltip-text="Vertical Spacer" icon="/com/intellij/uiDesigner/icons/vspacer.png" removable="false" auto-create-binding="false" can-attach-label="false">
<default-constraints vsize-policy="6" hsize-policy="1" anchor="0" fill="2" />
</item>
<item class="javax.swing.JPanel" icon="/com/intellij/uiDesigner/icons/panel.png" removable="false" auto-create-binding="false" can-attach-label="false">
<default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3" />
</item>
<item class="javax.swing.JScrollPane" icon="/com/intellij/uiDesigner/icons/scrollPane.png" removable="false" auto-create-binding="false" can-attach-label="true">
<default-constraints vsize-policy="7" hsize-policy="7" anchor="0" fill="3" />
</item>
<item class="javax.swing.JButton" icon="/com/intellij/uiDesigner/icons/button.png" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="0" hsize-policy="3" anchor="0" fill="1" />
<initial-values>
<property name="text" value="Button" />
</initial-values>
</item>
<item class="javax.swing.JRadioButton" icon="/com/intellij/uiDesigner/icons/radioButton.png" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="0" hsize-policy="3" anchor="8" fill="0" />
<initial-values>
<property name="text" value="RadioButton" />
</initial-values>
</item>
<item class="javax.swing.JCheckBox" icon="/com/intellij/uiDesigner/icons/checkBox.png" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="0" hsize-policy="3" anchor="8" fill="0" />
<initial-values>
<property name="text" value="CheckBox" />
</initial-values>
</item>
<item class="javax.swing.JLabel" icon="/com/intellij/uiDesigner/icons/label.png" removable="false" auto-create-binding="false" can-attach-label="false">
<default-constraints vsize-policy="0" hsize-policy="0" anchor="8" fill="0" />
<initial-values>
<property name="text" value="Label" />
</initial-values>
</item>
<item class="javax.swing.JTextField" icon="/com/intellij/uiDesigner/icons/textField.png" removable="false" auto-create-binding="true" can-attach-label="true">
<default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1">
<preferred-size width="150" height="-1" />
</default-constraints>
</item>
<item class="javax.swing.JPasswordField" icon="/com/intellij/uiDesigner/icons/passwordField.png" removable="false" auto-create-binding="true" can-attach-label="true">
<default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1">
<preferred-size width="150" height="-1" />
</default-constraints>
</item>
<item class="javax.swing.JFormattedTextField" icon="/com/intellij/uiDesigner/icons/formattedTextField.png" removable="false" auto-create-binding="true" can-attach-label="true">
<default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1">
<preferred-size width="150" height="-1" />
</default-constraints>
</item>
<item class="javax.swing.JTextArea" icon="/com/intellij/uiDesigner/icons/textArea.png" removable="false" auto-create-binding="true" can-attach-label="true">
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
<preferred-size width="150" height="50" />
</default-constraints>
</item>
<item class="javax.swing.JTextPane" icon="/com/intellij/uiDesigner/icons/textPane.png" removable="false" auto-create-binding="true" can-attach-label="true">
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
<preferred-size width="150" height="50" />
</default-constraints>
</item>
<item class="javax.swing.JEditorPane" icon="/com/intellij/uiDesigner/icons/editorPane.png" removable="false" auto-create-binding="true" can-attach-label="true">
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
<preferred-size width="150" height="50" />
</default-constraints>
</item>
<item class="javax.swing.JComboBox" icon="/com/intellij/uiDesigner/icons/comboBox.png" removable="false" auto-create-binding="true" can-attach-label="true">
<default-constraints vsize-policy="0" hsize-policy="2" anchor="8" fill="1" />
</item>
<item class="javax.swing.JTable" icon="/com/intellij/uiDesigner/icons/table.png" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
<preferred-size width="150" height="50" />
</default-constraints>
</item>
<item class="javax.swing.JList" icon="/com/intellij/uiDesigner/icons/list.png" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="6" hsize-policy="2" anchor="0" fill="3">
<preferred-size width="150" height="50" />
</default-constraints>
</item>
<item class="javax.swing.JTree" icon="/com/intellij/uiDesigner/icons/tree.png" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
<preferred-size width="150" height="50" />
</default-constraints>
</item>
<item class="javax.swing.JTabbedPane" icon="/com/intellij/uiDesigner/icons/tabbedPane.png" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3">
<preferred-size width="200" height="200" />
</default-constraints>
</item>
<item class="javax.swing.JSplitPane" icon="/com/intellij/uiDesigner/icons/splitPane.png" removable="false" auto-create-binding="false" can-attach-label="false">
<default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3">
<preferred-size width="200" height="200" />
</default-constraints>
</item>
<item class="javax.swing.JSpinner" icon="/com/intellij/uiDesigner/icons/spinner.png" removable="false" auto-create-binding="true" can-attach-label="true">
<default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1" />
</item>
<item class="javax.swing.JSlider" icon="/com/intellij/uiDesigner/icons/slider.png" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1" />
</item>
<item class="javax.swing.JSeparator" icon="/com/intellij/uiDesigner/icons/separator.png" removable="false" auto-create-binding="false" can-attach-label="false">
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3" />
</item>
<item class="javax.swing.JProgressBar" icon="/com/intellij/uiDesigner/icons/progressbar.png" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="0" hsize-policy="6" anchor="0" fill="1" />
</item>
<item class="javax.swing.JToolBar" icon="/com/intellij/uiDesigner/icons/toolbar.png" removable="false" auto-create-binding="false" can-attach-label="false">
<default-constraints vsize-policy="0" hsize-policy="6" anchor="0" fill="1">
<preferred-size width="-1" height="20" />
</default-constraints>
</item>
<item class="javax.swing.JToolBar$Separator" icon="/com/intellij/uiDesigner/icons/toolbarSeparator.png" removable="false" auto-create-binding="false" can-attach-label="false">
<default-constraints vsize-policy="0" hsize-policy="0" anchor="0" fill="1" />
</item>
<item class="javax.swing.JScrollBar" icon="/com/intellij/uiDesigner/icons/scrollbar.png" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="6" hsize-policy="0" anchor="0" fill="2" />
</item>
</group>
</component>
</project>

View file

@ -13,4 +13,7 @@ cache:
- $HOME/.m2
- $HOME/.kobalt
script: ./kobaltw clean assemble
before_cache:
- rm -rf .kobalt/*
script: ./kobaltw clean assemble test

View file

@ -1,4 +1,4 @@
Copyright (c) 2016, Erik C. Thauvin (erik@thauvin.net)
Copyright (c) 2016-2017, Erik C. Thauvin (erik@thauvin.net)
All rights reserved.
Redistribution and use in source and binary forms, with or without

View file

@ -1,8 +1,8 @@
# VersionEye plug-in for [Kobalt](http://beust.com/kobalt/home/index.html)
[![License (3-Clause BSD)](https://img.shields.io/badge/license-BSD%203--Clause-blue.svg?style=flat-square)](http://opensource.org/licenses/BSD-3-Clause) [![Build Status](https://travis-ci.org/ethauvin/kobalt-versioneye.svg?branch=master)](https://travis-ci.org/ethauvin/kobalt-versioneye) [![Download](https://api.bintray.com/packages/ethauvin/maven/kobalt-versioneye/images/download.svg) ](https://bintray.com/ethauvin/maven/kobalt-versioneye/_latestVersion)
[![License (3-Clause BSD)](https://img.shields.io/badge/license-BSD%203--Clause-blue.svg?style=flat-square)](http://opensource.org/licenses/BSD-3-Clause) [![release](https://img.shields.io/github/release/ethauvin/kobalt-versioneye.svg)](https://github.com/ethauvin/kobalt-versioneye/releases/latest) [![Build Status](https://travis-ci.org/ethauvin/kobalt-versioneye.svg?branch=master)](https://travis-ci.org/ethauvin/kobalt-versioneye) [![CircleCI](https://circleci.com/gh/ethauvin/kobalt-versioneye/tree/master.svg?style=shield)](https://circleci.com/gh/ethauvin/kobalt-versioneye/tree/master) [![Download](https://api.bintray.com/packages/ethauvin/maven/kobalt-versioneye/images/download.svg) ](https://bintray.com/ethauvin/maven/kobalt-versioneye/_latestVersion)
[![VersionEye Logo](src/site/images/VersionEyeLogo.png)](https://www.versioneye.com)
[![VersionEye Logo](https://github.com/ethauvin/kobalt-versioneye/raw/master/src/site/images/VersionEyeLogo.png)](https://www.versioneye.com)
The plug-in will create and update projects on [VersionEye](https://www.versioneye.com/), a service that notifies you about outdated dependencies, security vulnerabilities and license violations.
@ -20,9 +20,9 @@ val p = project {
group = "com.example"
artifactId = name
version = "0.1"
versionEye {
}
}
```
@ -30,7 +30,7 @@ val p = project {
To create or update your project on VersionEye, you will need an API key. If you are [signed up](https://www.versioneye.com/signup), you can find your API Key [here](https://www.versioneye.com/settings/api):
[![VersionEye API Key](src/site/images/VersionEyeApiKey.png)](https://www.versioneye.com/settings/api)
[![VersionEye API Key](https://github.com/ethauvin/kobalt-versioneye/raw/master/src/site/images/VersionEyeApiKey.png)](https://www.versioneye.com/settings/api)
To create your project on VersionEye simply use your API Key as follows
@ -90,16 +90,17 @@ versionEye {
The values are:
| Value | Description | Default |
| :----------- | :---------------------------------------------------------------------------------------------- | :---------------------------- |
| `baseUrl` | For VersionEye Enterprise VM to use your own domain, e.g. `https://versioneye.my-company.com/` | `https://www.versioneye.com/` |
| `colors` | To enable (`true`) or disable (`false`) colors in the plug-in output. | `true` |
| `name` | The name of the VersionEye project, if none is specified the Kobalt project name will be used. | *none* |
| `quiet` | To completely disable output from the plug-in. | `false` |
| `org` | The VersionEye organization, if any. | *none* |
| `team` | The VersionEye team, if any. | *none* |
| `verbose` | To enable or disable extra information in the plug-in output. | `true` |
| `visibility` | To set the project's visibility on VersionEye, either `public` or `private` | `public` |
| Value | Description | Default |
| :----------- | :--------------------------------------------------------------------------------------------------------------------- | :---------------------------- |
| `baseUrl` | For VersionEye Enterprise VM to use your own domain, e.g. `https://versioneye.my-company.com/` | `https://www.versioneye.com/` |
| `colors` | To enable (`true`) or disable (`false`) colors in the plug-in output. | `true` |
| `name` | The name of the VersionEye project, if none is specified the Kobalt project name will be used. | *none* |
| `quiet` | To completely disable output from the plug-in. | `false` |
| `org` | The VersionEye organization, if any. | *none* |
| `pom` | Generate a [pom.xml](https://maven.apache.org/pom.html) for the project. See [Private vs. Public](#private-vs-public). | `false` |
| `team` | The VersionEye team, if any. | *none* |
| `verbose` | To enable or disable extra information in the plug-in output. | `true` |
| `visibility` | To set the project's visibility on VersionEye, either `public` or `private` | `public` |
Some of the parameters can be controlled temporarily from the command line, as follows:
@ -126,4 +127,27 @@ versionEye {
| `Fail.dependenciesCheck` | Will triggered a failure on outdated dependencies. |
| `Fail.licensesUnknownCheck` | Will trigger a failure on unknown licenses. |
| `Fail.licensesCheck` | Will trigger a failure on licenses whitelist violations. Licenses and components whitelists can be configured on the [VersionEye](https://www.versioneye.com/) website. |
| `Fail.securityCheck` | Will trigger a failure on known security vulnerabilities, on by default. |
| `Fail.securityCheck` | Will trigger a failure on known security vulnerabilities, on by default. |
## Private vs. Public
By default, projects created using the VersionEye API are private. If your project is hosted on [GitHub](https://github.com) or [BitBucket](https://bitbucket.org) and would like to make it public on VersionEye. The plug-in can generate a [pom](https://maven.apache.org/pom.html) file compatible with VersionEye, as follows:
```
versionEye {
pom = true
...
}
```
and to generate the pom file, but **not** create a new project on VersionEye:
```bash
./kobaltw -Dve.create=false versionEye
```
Be sure to commit `pom.xml` on GitHub or BitBucket, and then import your project at:
* https://www.versioneye.com/projects/new
Finally, configure your [project key](#global-configuration).

37
clean.sh Normal file
View file

@ -0,0 +1,37 @@
#!/bin/bash
DEBUG=false
rm="rm -rf"
if [ "$DEBUG" = true ]; then
rm="echo rm -rf"
fi
buildkt="kobalt/src/Build.kt"
name=$(cat $buildkt | grep -m 1 "name = " | cut -d"\"" -f 2)
group=$(cat $buildkt | grep -m 1 "group = " | cut -d"\"" -f 2)
if [ -z "$1" ]; then
version=$(cat $buildkt | grep -m 1 "version = " | cut -d"\"" -f 2)
else
version="$1"
fi
maven="/k/maven/repository/${group//.//}/${name}/${version}"
kobalt="$HOME/.kobalt/cache/${group//.//}/${name}/${version}"
localRepo="$HOME/.kobalt/localMavenRepo/${group//.//}/${name}/${version}"
read -p "Delete version ${version}? " -n 1 -r
echo
if [[ $REPLY =~ ^[Yy]$ ]]; then
for dir in "$kobalt" "$maven" "$localRepo"; do
if [ -d "$dir" ]; then
echo -e "Deleting : \e[32;1m$dir\e[0m"
$rm "$dir"
else
echo -e "Not Found: \e[31;1m$dir\e[0m"
fi
done
fi

View file

@ -1,484 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<module external.linked.project.id="example" external.linked.project.path="$MODULE_DIR$/.." external.root.project.path="$MODULE_DIR$/.." external.system.id="KOBALT" type="JAVA_MODULE" version="4">
<component name="NewModuleRootManager" inherit-compiler-output="false">
<output url="file://$MODULE_DIR$/../kobaltBuild/classes" />
<output-test url="file://$MODULE_DIR$/../kobaltBuild/test-classes" />
<exclude-output />
<content url="file://$MODULE_DIR$">
<sourceFolder url="file://$MODULE_DIR$/src/main/kotlin" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/src/test/kotlin" isTestSource="true" />
<excludeFolder url="file://$MODULE_DIR$/kobaltBuild" />
</content>
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
<orderEntry type="module" module-name="kobalt-versioneye" />
<orderEntry type="module-library">
<library name="Kobalt: org.sonatype.sisu:sisu-guice:jar:no_aop:3.0.3">
<CLASSES>
<root url="jar://$USER_HOME$/.kobalt/cache/org/sonatype/sisu/sisu-guice/3.0.3/sisu-guice-3.0.3.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library">
<library name="Kobalt: org.apache.maven:maven-builder-support:jar:3.3.9">
<CLASSES>
<root url="jar://$USER_HOME$/.kobalt/cache/org/apache/maven/maven-builder-support/3.3.9/maven-builder-support-3.3.9.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library">
<library name="Kobalt: org.apache.maven:maven-artifact:jar:3.3.9">
<CLASSES>
<root url="jar://$USER_HOME$/.kobalt/cache/org/apache/maven/maven-artifact/3.3.9/maven-artifact-3.3.9.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library">
<library name="Kobalt: org.codehaus.plexus:plexus-component-annotations:jar:1.6">
<CLASSES>
<root url="jar://$USER_HOME$/.kobalt/cache/org/codehaus/plexus/plexus-component-annotations/1.6/plexus-component-annotations-1.6.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library">
<library name="Kobalt: org.codehaus.plexus:plexus-interpolation:jar:1.21">
<CLASSES>
<root url="jar://$USER_HOME$/.kobalt/cache/org/codehaus/plexus/plexus-interpolation/1.21/plexus-interpolation-1.21.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library">
<library name="Kobalt: org.sonatype.sisu:sisu-inject-bean:jar:2.2.3">
<CLASSES>
<root url="jar://$USER_HOME$/.kobalt/cache/org/sonatype/sisu/sisu-inject-bean/2.2.3/sisu-inject-bean-2.2.3.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library">
<library name="Kobalt: commons-codec:commons-codec:jar:1.6">
<CLASSES>
<root url="jar://$USER_HOME$/.kobalt/cache/commons-codec/commons-codec/1.6/commons-codec-1.6.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library">
<library name="Kobalt: commons-logging:commons-logging:jar:1.1.3">
<CLASSES>
<root url="jar://$USER_HOME$/.kobalt/cache/commons-logging/commons-logging/1.1.3/commons-logging-1.1.3.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library">
<library name="Kobalt: org.apache.httpcomponents:httpcore:jar:4.3.2">
<CLASSES>
<root url="jar://$USER_HOME$/.kobalt/cache/org/apache/httpcomponents/httpcore/4.3.2/httpcore-4.3.2.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library">
<library name="Kobalt: com.squareup.okio:okio:jar:1.8.0">
<CLASSES>
<root url="jar://$USER_HOME$/.kobalt/cache/com/squareup/okio/okio/1.8.0/okio-1.8.0.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library">
<library name="Kobalt: org.apache.maven:maven-repository-metadata:jar:3.3.9">
<CLASSES>
<root url="jar://$USER_HOME$/.kobalt/cache/org/apache/maven/maven-repository-metadata/3.3.9/maven-repository-metadata-3.3.9.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library">
<library name="Kobalt: org.apache.maven:maven-model-builder:jar:3.3.9">
<CLASSES>
<root url="jar://$USER_HOME$/.kobalt/cache/org/apache/maven/maven-model-builder/3.3.9/maven-model-builder-3.3.9.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library">
<library name="Kobalt: org.sonatype.sisu:sisu-inject-plexus:jar:2.2.3">
<CLASSES>
<root url="jar://$USER_HOME$/.kobalt/cache/org/sonatype/sisu/sisu-inject-plexus/2.2.3/sisu-inject-plexus-2.2.3.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library">
<library name="Kobalt: org.codehaus.plexus:plexus-classworlds:jar:2.4">
<CLASSES>
<root url="jar://$USER_HOME$/.kobalt/cache/org/codehaus/plexus/plexus-classworlds/2.4/plexus-classworlds-2.4.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library">
<library name="Kobalt: org.apache.maven.wagon:wagon-provider-api:jar:1.0-beta-6">
<CLASSES>
<root url="jar://$USER_HOME$/.kobalt/cache/org/apache/maven/wagon/wagon-provider-api/1.0-beta-6/wagon-provider-api-1.0-beta-6.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library">
<library name="Kobalt: org.sonatype.aether:aether-util:jar:1.13.1">
<CLASSES>
<root url="jar://$USER_HOME$/.kobalt/cache/org/sonatype/aether/aether-util/1.13.1/aether-util-1.13.1.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library">
<library name="Kobalt: org.sonatype.aether:aether-spi:jar:1.13.1">
<CLASSES>
<root url="jar://$USER_HOME$/.kobalt/cache/org/sonatype/aether/aether-spi/1.13.1/aether-spi-1.13.1.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library">
<library name="Kobalt: org.slf4j:jcl-over-slf4j:jar:1.6.2">
<CLASSES>
<root url="jar://$USER_HOME$/.kobalt/cache/org/slf4j/jcl-over-slf4j/1.6.2/jcl-over-slf4j-1.6.2.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library">
<library name="Kobalt: org.apache.httpcomponents:httpclient:jar:4.3.5">
<CLASSES>
<root url="jar://$USER_HOME$/.kobalt/cache/org/apache/httpcomponents/httpclient/4.3.5/httpclient-4.3.5.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library">
<library name="Kobalt: org.eclipse.aether:aether-util:jar:1.1.0">
<CLASSES>
<root url="jar://$USER_HOME$/.kobalt/cache/org/eclipse/aether/aether-util/1.1.0/aether-util-1.1.0.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library">
<library name="Kobalt: org.eclipse.aether:aether-api:jar:1.1.0">
<CLASSES>
<root url="jar://$USER_HOME$/.kobalt/cache/org/eclipse/aether/aether-api/1.1.0/aether-api-1.1.0.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library">
<library name="Kobalt: com.google.code.gson:gson:jar:2.7">
<CLASSES>
<root url="jar://$USER_HOME$/.kobalt/cache/com/google/code/gson/gson/2.7/gson-2.7.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library">
<library name="Kobalt: com.squareup.okhttp3:okhttp:jar:3.3.0">
<CLASSES>
<root url="jar://$USER_HOME$/.kobalt/cache/com/squareup/okhttp3/okhttp/3.3.0/okhttp-3.3.0.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library">
<library name="Kobalt: org.apache.commons:commons-lang3:jar:3.4">
<CLASSES>
<root url="jar://$USER_HOME$/.kobalt/cache/org/apache/commons/commons-lang3/3.4/commons-lang3-3.4.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library">
<library name="Kobalt: org.codehaus.plexus:plexus-utils:jar:3.0.22">
<CLASSES>
<root url="jar://$USER_HOME$/.kobalt/cache/org/codehaus/plexus/plexus-utils/3.0.22/plexus-utils-3.0.22.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library">
<library name="Kobalt: aopalliance:aopalliance:jar:1.0">
<CLASSES>
<root url="jar://$USER_HOME$/.kobalt/cache/aopalliance/aopalliance/1.0/aopalliance-1.0.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library">
<library name="Kobalt: javax.inject:javax.inject:jar:1">
<CLASSES>
<root url="jar://$USER_HOME$/.kobalt/cache/javax/inject/javax.inject/1/javax.inject-1.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library" scope="TEST">
<library name="Kobalt: org.yaml:snakeyaml:jar:1.17">
<CLASSES>
<root url="jar://$USER_HOME$/.kobalt/cache/org/yaml/snakeyaml/1.17/snakeyaml-1.17.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library" scope="TEST">
<library name="Kobalt: com.beust:jcommander:jar:1.64">
<CLASSES>
<root url="jar://$USER_HOME$/.kobalt/cache/com/beust/jcommander/1.64/jcommander-1.64.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library">
<library name="Kobalt: org.apache.maven:maven-aether-provider:jar:3.3.9">
<CLASSES>
<root url="jar://$USER_HOME$/.kobalt/cache/org/apache/maven/maven-aether-provider/3.3.9/maven-aether-provider-3.3.9.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library">
<library name="Kobalt: org.sonatype.aether:aether-connector-wagon:jar:1.13.1">
<CLASSES>
<root url="jar://$USER_HOME$/.kobalt/cache/org/sonatype/aether/aether-connector-wagon/1.13.1/aether-connector-wagon-1.13.1.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library">
<library name="Kobalt: org.sonatype.aether:aether-api:jar:1.13.1">
<CLASSES>
<root url="jar://$USER_HOME$/.kobalt/cache/org/sonatype/aether/aether-api/1.13.1/aether-api-1.13.1.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library">
<library name="Kobalt: org.eclipse.aether:aether-transport-http:jar:1.1.0">
<CLASSES>
<root url="jar://$USER_HOME$/.kobalt/cache/org/eclipse/aether/aether-transport-http/1.1.0/aether-transport-http-1.1.0.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library">
<library name="Kobalt: org.eclipse.aether:aether-transport-file:jar:1.1.0">
<CLASSES>
<root url="jar://$USER_HOME$/.kobalt/cache/org/eclipse/aether/aether-transport-file/1.1.0/aether-transport-file-1.1.0.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library">
<library name="Kobalt: org.eclipse.aether:aether-connector-basic:jar:1.1.0">
<CLASSES>
<root url="jar://$USER_HOME$/.kobalt/cache/org/eclipse/aether/aether-connector-basic/1.1.0/aether-connector-basic-1.1.0.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library">
<library name="Kobalt: org.eclipse.aether:aether-impl:jar:1.1.0">
<CLASSES>
<root url="jar://$USER_HOME$/.kobalt/cache/org/eclipse/aether/aether-impl/1.1.0/aether-impl-1.1.0.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library">
<library name="Kobalt: org.eclipse.aether:aether-spi:jar:1.1.0">
<CLASSES>
<root url="jar://$USER_HOME$/.kobalt/cache/org/eclipse/aether/aether-spi/1.1.0/aether-spi-1.1.0.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library">
<library name="Kobalt: org.slf4j:slf4j-nop:jar:1.6.0">
<CLASSES>
<root url="jar://$USER_HOME$/.kobalt/cache/org/slf4j/slf4j-nop/1.6.0/slf4j-nop-1.6.0.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library">
<library name="Kobalt: com.beust:jcommander:jar:1.48">
<CLASSES>
<root url="jar://$USER_HOME$/.kobalt/cache/com/beust/jcommander/1.48/jcommander-1.48.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library">
<library name="Kobalt: com.squareup.retrofit2:converter-gson:jar:2.1.0">
<CLASSES>
<root url="jar://$USER_HOME$/.kobalt/cache/com/squareup/retrofit2/converter-gson/2.1.0/converter-gson-2.1.0.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library">
<library name="Kobalt: com.squareup.retrofit2:retrofit:jar:2.1.0">
<CLASSES>
<root url="jar://$USER_HOME$/.kobalt/cache/com/squareup/retrofit2/retrofit/2.1.0/retrofit-2.1.0.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library">
<library name="Kobalt: io.reactivex:rxjava:jar:1.1.5">
<CLASSES>
<root url="jar://$USER_HOME$/.kobalt/cache/io/reactivex/rxjava/1.1.5/rxjava-1.1.5.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library">
<library name="Kobalt: org.apache.maven:maven-model:jar:3.3.9">
<CLASSES>
<root url="jar://$USER_HOME$/.kobalt/cache/org/apache/maven/maven-model/3.3.9/maven-model-3.3.9.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library">
<library name="Kobalt: com.google.guava:guava:jar:19.0">
<CLASSES>
<root url="jar://$USER_HOME$/.kobalt/cache/com/google/guava/guava/19.0/guava-19.0.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library">
<library name="Kobalt: com.google.inject.extensions:guice-assistedinject:jar:4.0">
<CLASSES>
<root url="jar://$USER_HOME$/.kobalt/cache/com/google/inject/extensions/guice-assistedinject/4.0/guice-assistedinject-4.0.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library">
<library name="Kobalt: com.google.inject:guice:jar:4.0">
<CLASSES>
<root url="jar://$USER_HOME$/.kobalt/cache/com/google/inject/guice/4.0/guice-4.0.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library">
<library name="Kobalt: org.slf4j:slf4j-api:jar:1.7.20">
<CLASSES>
<root url="jar://$USER_HOME$/.kobalt/cache/org/slf4j/slf4j-api/1.7.20/slf4j-api-1.7.20.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library">
<library name="Kobalt: ch.qos.logback:logback-core:jar:1.1.7">
<CLASSES>
<root url="jar://$USER_HOME$/.kobalt/cache/ch/qos/logback/logback-core/1.1.7/logback-core-1.1.7.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library" scope="TEST">
<library name="Kobalt: org.testng:testng:jar:(0,]">
<CLASSES>
<root url="jar://$USER_HOME$/.kobalt/cache/org/testng/testng/6.11/testng-6.11.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library">
<library name="Kobalt: com.beust:kobalt-plugin-api:jar:0.878">
<CLASSES>
<root url="jar://$USER_HOME$/.kobalt/cache/com/beust/kobalt-plugin-api/0.878/kobalt-plugin-api-0.878.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library">
<library name="Kobalt: commons-httpclient:commons-httpclient:jar:3.1">
<CLASSES>
<root url="jar://$USER_HOME$/.kobalt/cache/commons-httpclient/commons-httpclient/3.1/commons-httpclient-3.1.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library">
<library name="Kobalt: ch.qos.logback:logback-classic:jar:1.1.7">
<CLASSES>
<root url="jar://$USER_HOME$/.kobalt/cache/ch/qos/logback/logback-classic/1.1.7/logback-classic-1.1.7.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
</component>
</module>

View file

@ -6,6 +6,7 @@ import net.thauvin.erik.kobalt.plugin.versioneye.*
// ./kobaltw versionEye
val bs = buildScript {
repos(localMaven())
plugins("net.thauvin.erik:kobalt-versioneye:")
}
@ -16,20 +17,12 @@ val p = project {
artifactId = name
version = "0.1"
sourceDirectories {
path("src/main/kotlin")
}
sourceDirectoriesTest {
path("src/test/kotlin")
}
dependencies {
compile("com.beust:jcommander:1.47")
//compile("org.slf4j:slf4j-api:")
compile("ch.qos.logback:logback-core:0.5")
compile("ch.qos.logback:logback-classic:1.1.7")
compile("commons-httpclient:commons-httpclient:jar:3.1")
compile("commons-httpclient:commons-httpclient:3.1")
compile("com.beust:kobalt-plugin-api:0.878")
}
@ -51,8 +44,10 @@ val p = project {
// colors = true
// name = ""
// org = ""
pom = true
// quiet = false
// team = ""
temp = true
// verbose = true
// visibility = "public"

View file

@ -1 +1 @@
kobalt.version=1.0.6
kobalt.version=1.0.90

43
example/pom.xml Normal file
View file

@ -0,0 +1,43 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<modelVersion>4.0.0</modelVersion>
<groupId>com.example</groupId>
<artifactId>example</artifactId>
<version>0.1</version>
<name>example</name>
<description></description>
<dependencies>
<dependency>
<groupId>com.beust</groupId>
<artifactId>jcommander</artifactId>
<version>1.47</version>
</dependency>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-core</artifactId>
<version>0.5</version>
</dependency>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
<version>1.1.7</version>
</dependency>
<dependency>
<groupId>commons-httpclient</groupId>
<artifactId>commons-httpclient</artifactId>
<version>3.1</version>
</dependency>
<dependency>
<groupId>com.beust</groupId>
<artifactId>kobalt-plugin-api</artifactId>
<version>0.878</version>
</dependency>
<dependency>
<groupId>org.testng</groupId>
<artifactId>testng</artifactId>
<version>(0,]</version>
<scope>test</scope>
</dependency>
</dependencies>
</project>

View file

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<module external.linked.project.id="kobalt-versioneye" external.linked.project.path="$MODULE_DIR$" external.root.project.path="$MODULE_DIR$" external.system.id="KOBALT" type="JAVA_MODULE" version="4">
<component name="NewModuleRootManager" inherit-compiler-output="false">
<component name="NewModuleRootManager">
<output url="file://$MODULE_DIR$/kobaltBuild/classes" />
<output-test url="file://$MODULE_DIR$/kobaltBuild/test-classes" />
<exclude-output />
@ -12,10 +12,73 @@
</content>
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
<orderEntry type="module-library">
<library name="Kobalt: com.beust:kobalt-plugin-api:jar:(0,]">
<orderEntry type="module-library" scope="TEST">
<library name="Kobalt: org.yaml:snakeyaml:jar:1.17">
<CLASSES>
<root url="jar://$USER_HOME$/.kobalt/cache/com/beust/kobalt-plugin-api/0.939/kobalt-plugin-api-0.939.jar!/" />
<root url="jar://$USER_HOME$/.kobalt/cache/org/yaml/snakeyaml/1.17/snakeyaml-1.17.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library">
<library name="Kobalt: org.opentest4j:opentest4j:jar:1.0.0-M2">
<CLASSES>
<root url="jar://$USER_HOME$/.kobalt/cache/org/opentest4j/opentest4j/1.0.0-M2/opentest4j-1.0.0-M2.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library">
<library name="Kobalt: org.junit.platform:junit-platform-commons:jar:1.0.0-M4">
<CLASSES>
<root url="jar://$USER_HOME$/.kobalt/cache/org/junit/platform/junit-platform-commons/1.0.0-M4/junit-platform-commons-1.0.0-M4.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library">
<library name="Kobalt: org.hamcrest:hamcrest-core:jar:1.3">
<CLASSES>
<root url="jar://$USER_HOME$/.kobalt/cache/org/hamcrest/hamcrest-core/1.3/hamcrest-core-1.3.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library">
<library name="Kobalt: org.junit.platform:junit-platform-engine:jar:1.0.0-M4">
<CLASSES>
<root url="jar://$USER_HOME$/.kobalt/cache/org/junit/platform/junit-platform-engine/1.0.0-M4/junit-platform-engine-1.0.0-M4.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library">
<library name="Kobalt: org.yaml:snakeyaml:jar:1.17">
<CLASSES>
<root url="jar://$USER_HOME$/.kobalt/cache/org/yaml/snakeyaml/1.17/snakeyaml-1.17.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library">
<library name="Kobalt: com.beust:jcommander:jar:1.64">
<CLASSES>
<root url="jar://$USER_HOME$/.kobalt/cache/com/beust/jcommander/1.64/jcommander-1.64.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library">
<library name="Kobalt: com.google.auto:auto-common:jar:0.3">
<CLASSES>
<root url="jar://$USER_HOME$/.kobalt/cache/com/google/auto/auto-common/0.3/auto-common-0.3.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
@ -85,9 +148,72 @@
</library>
</orderEntry>
<orderEntry type="module-library">
<library name="Kobalt: com.squareup.okio:okio:jar:1.8.0">
<library name="Kobalt: org.junit.jupiter:junit-jupiter-api:jar:5.0.0-M4">
<CLASSES>
<root url="jar://$USER_HOME$/.kobalt/cache/com/squareup/okio/okio/1.8.0/okio-1.8.0.jar!/" />
<root url="jar://$USER_HOME$/.kobalt/cache/org/junit/jupiter/junit-jupiter-api/5.0.0-M4/junit-jupiter-api-5.0.0-M4.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library">
<library name="Kobalt: junit:junit:jar:4.12">
<CLASSES>
<root url="jar://$USER_HOME$/.kobalt/cache/junit/junit/4.12/junit-4.12.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library">
<library name="Kobalt: org.junit.platform:junit-platform-suite-api:jar:1.0.0-M4">
<CLASSES>
<root url="jar://$USER_HOME$/.kobalt/cache/org/junit/platform/junit-platform-suite-api/1.0.0-M4/junit-platform-suite-api-1.0.0-M4.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library">
<library name="Kobalt: org.apache.maven.surefire:common-java5:jar:2.19.1">
<CLASSES>
<root url="jar://$USER_HOME$/.kobalt/cache/org/apache/maven/surefire/common-java5/2.19.1/common-java5-2.19.1.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library">
<library name="Kobalt: org.apache.maven.surefire:surefire-api:jar:2.19.1">
<CLASSES>
<root url="jar://$USER_HOME$/.kobalt/cache/org/apache/maven/surefire/surefire-api/2.19.1/surefire-api-2.19.1.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library">
<library name="Kobalt: org.junit.platform:junit-platform-launcher:jar:1.0.0-M4">
<CLASSES>
<root url="jar://$USER_HOME$/.kobalt/cache/org/junit/platform/junit-platform-launcher/1.0.0-M4/junit-platform-launcher-1.0.0-M4.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library">
<library name="Kobalt: org.testng:testng:jar:6.11">
<CLASSES>
<root url="jar://$USER_HOME$/.kobalt/cache/org/testng/testng/6.11/testng-6.11.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library">
<library name="Kobalt: com.google.auto.service:auto-service:jar:1.0-rc3">
<CLASSES>
<root url="jar://$USER_HOME$/.kobalt/cache/com/google/auto/service/auto-service/1.0-rc3/auto-service-1.0-rc3.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
@ -201,15 +327,6 @@
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library">
<library name="Kobalt: com.squareup.okhttp3:okhttp:jar:3.3.0">
<CLASSES>
<root url="jar://$USER_HOME$/.kobalt/cache/com/squareup/okhttp3/okhttp/3.3.0/okhttp-3.3.0.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library">
<library name="Kobalt: org.apache.commons:commons-lang3:jar:3.4">
<CLASSES>
@ -246,19 +363,73 @@
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library" scope="TEST">
<library name="Kobalt: org.yaml:snakeyaml:jar:1.17">
<orderEntry type="module-library">
<library name="Kobalt: org.apache.commons:commons-compress:jar:1.13">
<CLASSES>
<root url="jar://$USER_HOME$/.kobalt/cache/org/yaml/snakeyaml/1.17/snakeyaml-1.17.jar!/" />
<root url="jar://$USER_HOME$/.kobalt/cache/org/apache/commons/commons-compress/1.13/commons-compress-1.13.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library" scope="TEST">
<library name="Kobalt: com.beust:jcommander:jar:1.64">
<orderEntry type="module-library">
<library name="Kobalt: org.junit.vintage:junit-vintage-engine:jar:4.12.0-M4">
<CLASSES>
<root url="jar://$USER_HOME$/.kobalt/cache/com/beust/jcommander/1.64/jcommander-1.64.jar!/" />
<root url="jar://$USER_HOME$/.kobalt/cache/org/junit/vintage/junit-vintage-engine/4.12.0-M4/junit-vintage-engine-4.12.0-M4.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library">
<library name="Kobalt: org.junit.jupiter:junit-jupiter-engine:jar:5.0.0-M4">
<CLASSES>
<root url="jar://$USER_HOME$/.kobalt/cache/org/junit/jupiter/junit-jupiter-engine/5.0.0-M4/junit-jupiter-engine-5.0.0-M4.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library">
<library name="Kobalt: org.junit.platform:junit-platform-console:jar:1.0.0-M4">
<CLASSES>
<root url="jar://$USER_HOME$/.kobalt/cache/org/junit/platform/junit-platform-console/1.0.0-M4/junit-platform-console-1.0.0-M4.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library">
<library name="Kobalt: org.junit.platform:junit-platform-runner:jar:1.0.0-M4">
<CLASSES>
<root url="jar://$USER_HOME$/.kobalt/cache/org/junit/platform/junit-platform-runner/1.0.0-M4/junit-platform-runner-1.0.0-M4.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library">
<library name="Kobalt: org.junit.platform:junit-platform-surefire-provider:jar:1.0.0-M4">
<CLASSES>
<root url="jar://$USER_HOME$/.kobalt/cache/org/junit/platform/junit-platform-surefire-provider/1.0.0-M4/junit-platform-surefire-provider-1.0.0-M4.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library">
<library name="Kobalt: commons-io:commons-io:jar:2.5">
<CLASSES>
<root url="jar://$USER_HOME$/.kobalt/cache/commons-io/commons-io/2.5/commons-io-2.5.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library">
<library name="Kobalt: org.testng.testng-remote:testng-remote:jar:1.3.2">
<CLASSES>
<root url="jar://$USER_HOME$/.kobalt/cache/org/testng/testng-remote/testng-remote/1.3.2/testng-remote-1.3.2.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
@ -354,15 +525,6 @@
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library">
<library name="Kobalt: com.beust:jcommander:jar:1.48">
<CLASSES>
<root url="jar://$USER_HOME$/.kobalt/cache/com/beust/jcommander/1.48/jcommander-1.48.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library">
<library name="Kobalt: com.squareup.retrofit2:converter-gson:jar:2.1.0">
<CLASSES>
@ -426,8 +588,35 @@
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library">
<library name="Kobalt: com.beust:kobalt-plugin-api:jar:(0,]">
<CLASSES>
<root url="jar://$USER_HOME$/.kobalt/cache/com/beust/kobalt-plugin-api/1.0.68/kobalt-plugin-api-1.0.68.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library" scope="TEST">
<library name="Kobalt: org.testng:testng:jar:(0,]">
<library name="Kobalt: com.beust:jcommander:jar:1.64">
<CLASSES>
<root url="jar://$USER_HOME$/.kobalt/cache/com/beust/jcommander/1.64/jcommander-1.64.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library">
<library name="Kobalt: com.squareup.okhttp3:logging-interceptor:jar:3.8.0">
<CLASSES>
<root url="jar://$USER_HOME$/.kobalt/cache/com/squareup/okhttp3/logging-interceptor/3.8.0/logging-interceptor-3.8.0.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library" scope="TEST">
<library name="Kobalt: org.testng:testng:jar:6.11">
<CLASSES>
<root url="jar://$USER_HOME$/.kobalt/cache/org/testng/testng/6.11/testng-6.11.jar!/" />
</CLASSES>
@ -435,5 +624,41 @@
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library">
<library name="Kobalt: com.squareup.okhttp3:okhttp:jar:3.8.0">
<CLASSES>
<root url="jar://$USER_HOME$/.kobalt/cache/com/squareup/okhttp3/okhttp/3.8.0/okhttp-3.8.0.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library">
<library name="Kobalt: com.squareup.okio:okio:jar:1.13.0">
<CLASSES>
<root url="jar://$USER_HOME$/.kobalt/cache/com/squareup/okio/okio/1.13.0/okio-1.13.0.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library">
<library name="Kobalt: org.jetbrains.kotlin:kotlin-stdlib:jar:1.1.2-4">
<CLASSES>
<root url="jar://$USER_HOME$/.kobalt/cache/org/jetbrains/kotlin/kotlin-stdlib/1.1.2-4/kotlin-stdlib-1.1.2-4.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library">
<library name="Kobalt: org.jetbrains:annotations:jar:13.0">
<CLASSES>
<root url="jar://$USER_HOME$/.kobalt/cache/org/jetbrains/annotations/13.0/annotations-13.0.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
</component>
</module>

View file

@ -1,8 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<module external.linked.project.id="Build.kt" external.linked.project.path="$MODULE_DIR$/.." external.root.project.path="$MODULE_DIR$/.." external.system.id="KOBALT" type="JAVA_MODULE" version="4">
<component name="NewModuleRootManager" inherit-compiler-output="false">
<output url="file://$MODULE_DIR$/../kobaltBuild/classes" />
<output-test url="file://$MODULE_DIR$/../kobaltBuild/test-classes" />
<component name="NewModuleRootManager">
<output url="file://$MODULE_DIR$/out/classes" />
<output-test url="file://$MODULE_DIR$/out/test-classes" />
<exclude-output />
<content url="file://$MODULE_DIR$">
<sourceFolder url="file://$MODULE_DIR$/src" isTestSource="false" />
@ -10,22 +10,33 @@
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
<orderEntry type="module-library">
<library name="Kobalt: kobalt-versioneye-0.4.4.jar">
<library name="Kobalt: kobalt-maven-local-0.5.3.jar">
<CLASSES>
<root url="jar://$MODULE_DIR$/../kobaltBuild/libs/kobalt-versioneye-0.4.4.jar!/" />
<root url="jar://$USER_HOME$/.kobalt/cache/net/thauvin/erik/kobalt-maven-local/0.5.3/kobalt-maven-local-0.5.3.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library">
<library name="Kobalt: com.beust.kobalt:kobalt:jar:1.0.6">
<library name="Kobalt: kobalt-versioneye-0.4.5.jar">
<CLASSES>
<root url="jar://$USER_HOME$/.kobalt/wrapper/dist/kobalt-1.0.6/kobalt/wrapper/kobalt-1.0.6.jar!/" />
<root url="jar://$USER_HOME$/.kobalt/cache/net/thauvin/erik/kobalt-versioneye/0.4.5/kobalt-versioneye-0.4.5.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library">
<library name="Kobalt: com.beust.kobalt:kobalt:jar:1.0.87">
<CLASSES>
<root url="jar://$USER_HOME$/.kobalt/wrapper/dist/kobalt-1.0.87/kobalt/wrapper/kobalt-1.0.87.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES>
<root url="jar://$USER_HOME$/.kobalt/wrapper/dist/kobalt-1.0.87/kobalt/wrapper/kobalt-1.0.87-sources.jar!/" />
</SOURCES>
</library>
</orderEntry>
</component>
</module>

View file

@ -1,37 +1,30 @@
import com.beust.kobalt.buildScript
import com.beust.kobalt.file
import com.beust.kobalt.misc.kobaltLog
import com.beust.kobalt.plugin.application.application
import com.beust.kobalt.localMaven
import com.beust.kobalt.plugin.packaging.assemble
import com.beust.kobalt.plugin.publish.autoGitTag
import com.beust.kobalt.plugin.publish.bintray
import com.beust.kobalt.profile
import com.beust.kobalt.project
import net.thauvin.erik.kobalt.plugin.versioneye.versionEye
import org.apache.maven.model.Developer
import org.apache.maven.model.License
import org.apache.maven.model.Model
import org.apache.maven.model.Scm
import java.io.File
val semver = "0.4.4"
val bs = buildScript {
val p = with(File("kobaltBuild/libs/kobalt-versioneye-$semver.jar")) {
if (exists()) {
kobaltLog(1, " >>> Using: $path")
file(path)
} else {
"net.thauvin.erik:kobalt-versioneye:"
}
}
plugins(p)
repos(localMaven())
plugins("net.thauvin.erik:kobalt-maven-local:", "net.thauvin.erik:kobalt-versioneye:")
}
val dev by profile()
val kobaltDependency = if (dev) "kobalt" else "kobalt-plugin-api"
val p = project {
name = "kobalt-versioneye"
group = "net.thauvin.erik"
artifactId = name
version = semver
version = "0.4.6"
pom = Model().apply {
description = "VersionEye plug-in for the Kobalt build system."
@ -52,83 +45,41 @@ val p = project {
})
}
sourceDirectories {
path("src/main/kotlin")
}
sourceDirectoriesTest {
path("src/test/kotlin")
}
dependencies {
compile("com.beust:kobalt-plugin-api:")
compileOnly("com.beust:$kobaltDependency:")
compile("org.jetbrains.kotlin:kotlin-stdlib:1.1.51")
compile("com.squareup.okhttp3:logging-interceptor:jar:3.9.0")
}
dependenciesTest {
compile("org.testng:testng:")
}
assemble {
mavenJars {}
}
bintray {
publish = true
}
}
val example = project(p) {
name = "example"
group = "com.example"
artifactId = name
version = "0.1"
directory = "example"
sourceDirectories {
path("src/main/kotlin")
}
sourceDirectoriesTest {
path("src/test/kotlin")
}
dependencies {
compile("com.beust:jcommander:1.47")
//compile("org.slf4j:slf4j-api:")
compile("ch.qos.logback:logback-core:0.5")
compile("ch.qos.logback:logback-classic:1.1.7")
compile("commons-httpclient:commons-httpclient:jar:3.1")
compile("com.beust:kobalt-plugin-api:0.878")
}
dependenciesTest {
compile("org.testng:testng:")
compile("org.testng:testng:6.12")
}
assemble {
jar {
fatJar = true
}
mavenJars {
fatJar = true
}
}
application {
mainClass = "com.example.MainKt"
autoGitTag {
enabled = true
push = false
message = "Version $version"
}
bintray {
publish = true
description = "Release version $version"
vcsTag = version
}
versionEye {
// baseUrl = "https://www.versioneye.com/"
// colors = true
// name = ""
// org = ""
// quiet = false
// team = ""
// verbose = true
// visibility = "public"
//failOn(Fail.licensesUnknownCheck, Fail.licensesCheck, Fail.securityCheck, Fail.dependenciesCheck)
org = "thauvin"
team = "Owners"
pom = true
}
}
}

View file

@ -1 +1 @@
kobalt.version=1.0.6
kobalt.version=1.0.90

42
pom.xml Normal file
View file

@ -0,0 +1,42 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<modelVersion>4.0.0</modelVersion>
<groupId>net.thauvin.erik</groupId>
<artifactId>kobalt-versioneye</artifactId>
<version>0.4.6</version>
<name>kobalt-versioneye</name>
<description>VersionEye plug-in for the Kobalt build system.</description>
<url>https://github.com/ethauvin/kobalt-versioneye</url>
<licenses>
<license>
<name>BSD 3-Clause</name>
<url>https://opensource.org/licenses/BSD-3-Clause</url>
</license>
</licenses>
<developers>
<developer>
<id>ethauvin</id>
<name>Erik C. Thauvin</name>
<email>erik@thauvin.net</email>
</developer>
</developers>
<scm>
<connection>https://github.com/ethauvin/kobalt-versioneye.git</connection>
<developerConnection>git@github.com:ethauvin/kobalt-versioneye.git</developerConnection>
<url>https://github.com/ethauvin/kobalt-versioneye</url>
</scm>
<dependencies>
<dependency>
<groupId>com.squareup.okhttp3</groupId>
<artifactId>logging-interceptor</artifactId>
<version>3.8.0</version>
</dependency>
<dependency>
<groupId>org.testng</groupId>
<artifactId>testng</artifactId>
<version>6.11</version>
<scope>test</scope>
</dependency>
</dependencies>
</project>

View file

@ -44,6 +44,8 @@ import com.google.gson.JsonObject
import com.google.inject.Inject
import com.google.inject.Singleton
import okhttp3.*
import okhttp3.logging.HttpLoggingInterceptor
import java.io.File
import java.io.FileOutputStream
import java.nio.file.Files
import java.nio.file.Paths
@ -54,13 +56,22 @@ class VersionEyePlugin @Inject constructor(val configActor: ConfigActor<VersionE
val taskContributor: TaskContributor) :
BasePlugin(), ITaskContributor, IConfigActor<VersionEyeConfig> by configActor {
private val API_KEY_PROPERTY = "versioneye.apiKey"
private val PROJECT_KEY_PROPERTY = "versioneye.projectKey"
private val COLORS_PROPERTY = "ve.colors"
private val VERBOSE_PROPERTY = "ve.verbose"
private val CREATE_PROPERTY = "ve.create"
private val PROJECT_KEY_PROPERTY = "versioneye.projectKey"
private val QUIET_PROPERTY = "ve.quiet"
private val VERBOSE_PROPERTY = "ve.verbose"
private val debug = System.getProperty("ve.debug", "false").toBoolean()
private val httpClient = OkHttpClient()
private val proxy = System.getProperty("ve.proxy", "-1").toInt()
private val httpClient = if (!debug) {
OkHttpClient()
} else {
OkHttpClient().newBuilder().addInterceptor(
HttpLoggingInterceptor({ message -> log(2, "[HTTP] $message") })
.apply { level = HttpLoggingInterceptor.Level.BODY }).build()
}
// ITaskContributor
override fun tasksFor(project: Project, context: KobaltContext): List<DynamicTask> = taskContributor.dynamicTasks
@ -79,15 +90,15 @@ class VersionEyePlugin @Inject constructor(val configActor: ConfigActor<VersionE
@Task(name = "versionEye", description = "Update and check dependencies on VersionEye")
fun versionEye(project: Project): TaskResult {
if (debug) {
log(1, " Using Fiddler proxy 127.0.0.1:8888")
if (proxy != -1) {
log(1, " Using proxy 127.0.0.1:$proxy")
System.setProperty("http.proxyHost", "127.0.0.1")
System.setProperty("https.proxyHost", "127.0.0.1")
System.setProperty("http.proxyPort", "8888")
System.setProperty("https.proxyPort", "8888")
System.setProperty("http.proxyPort", "$proxy")
System.setProperty("https.proxyPort", "$proxy")
}
val local = project.directory + "/local.properties"
val local = "${project.directory}/local.properties"
// Load configuration
configurationFor(project)?.let { config ->
@ -124,11 +135,25 @@ class VersionEyePlugin @Inject constructor(val configActor: ConfigActor<VersionE
// Config parameters
config.colors = System.getProperty(COLORS_PROPERTY, config.colors.toString()).toBoolean()
config.verbose = System.getProperty(VERBOSE_PROPERTY, config.verbose.toString()).toBoolean()
config.quiet = System.getProperty(QUIET_PROPERTY, config.quiet.toString()).toBoolean()
config.verbose = System.getProperty(VERBOSE_PROPERTY, config.verbose.toString()).toBoolean()
// Get pom & proceed with update
val pom = context.generatePom(project)
// Write the pom
if (config.pom) {
File("pom.xml").writeText(pom)
// Don't create a new project
if (!System.getProperty(CREATE_PROPERTY, "true").toBoolean() && projectKey.isNullOrBlank()) {
log(1, " Be sure to commit pom.xml, and import your project at:")
log(1, VersionEyeUtils.yellow("\n\t${config.baseUrl}/projects/new\n", config.colors))
log(1, " Then configure your project key.")
return TaskResult()
}
}
val result = versionEyeUpdate(if (config.name.isNotBlank()) {
config.name
} else {
@ -137,7 +162,7 @@ class VersionEyePlugin @Inject constructor(val configActor: ConfigActor<VersionE
// Save properties
FileOutputStream(local).use { output ->
p.store(output, "")
p.store(output, null)
}
return result
@ -185,15 +210,13 @@ class VersionEyePlugin @Inject constructor(val configActor: ConfigActor<VersionE
}
// Set visibility
if (config.visibility.isNotBlank()) {
if (config.visibility.equals("private", true)) {
requestBody.addFormDataPart("visibility", "private")
} else if (config.visibility.equals("public", true)) {
requestBody.addFormDataPart("visibility", "public")
}
if (config.visibility.isNotBlank() && config.visibility.equals("private", true)) {
requestBody.addFormDataPart("visibility", "private")
} else {
requestBody.addFormDataPart("visibility", "public")
}
if (debug) {
if (config.temp) {
requestBody.addFormDataPart("temp", "true")
}
@ -209,16 +232,15 @@ class VersionEyePlugin @Inject constructor(val configActor: ConfigActor<VersionE
// Execute and handle request
val response = httpClient.newCall(request).execute()
// Parse json response
val o = GsonBuilder().create().fromJson(response.body().charStream(), JsonObject::class.java)
if (!response.isSuccessful) {
warn("Unexpected response from VersionEye: " + response)
// Parse json response
warn("Unexpected response from VersionEye: " + (o.get("error").asString ?: response.message()))
return TaskResult()
} else {
// Parse json response
val builder = GsonBuilder()
val o = builder.create().fromJson(response.body().charStream(), JsonObject::class.java)
// Get project key
if (projectKey.isNullOrBlank()) {
// Get & set project key
if (projectKey.isNullOrBlank() && !config.temp) {
projectKey = o.get("id").asString
p.setProperty(PROJECT_KEY_PROPERTY, projectKey)
}
@ -231,10 +253,10 @@ class VersionEyePlugin @Inject constructor(val configActor: ConfigActor<VersionE
val sv_count = o.get("sv_count").asInt
// Sets deps, license and security failures
val isFailDeps = Utils.isFail(config.failSet, Fail.dependenciesCheck) && out_number > 0
val isFailLicense = Utils.isFail(config.failSet, Fail.licensesCheck) && licenses_red > 0
val isFailUnknown = Utils.isFail(config.failSet, Fail.licensesUnknownCheck) && licenses_unknown > 0
val isFailSecurity = Utils.isFail(config.failSet, Fail.securityCheck) && sv_count > 0
val isFailDeps = VersionEyeUtils.isFail(config.failSet, Fail.dependenciesCheck) && out_number > 0
val isFailLicense = VersionEyeUtils.isFail(config.failSet, Fail.licensesCheck) && licenses_red > 0
val isFailUnknown = VersionEyeUtils.isFail(config.failSet, Fail.licensesUnknownCheck) && licenses_unknown > 0
val isFailSecurity = VersionEyeUtils.isFail(config.failSet, Fail.securityCheck) && sv_count > 0
// Unknown dependencies
var unknownDeps = 0
@ -258,14 +280,14 @@ class VersionEyePlugin @Inject constructor(val configActor: ConfigActor<VersionE
depsInfo.append(lf)
}
unknownDeps++
depsInfo.append(Utils.redLight(" - $depName -> UNKNOWN", unknownDeps, false, config.colors))
depsInfo.append(VersionEyeUtils.redLight(" - $depName -> UNKNOWN", unknownDeps, false, config.colors))
} else if (dep.get("outdated").asBoolean) {
if (depsInfo.isNotEmpty()) {
depsInfo.append(lf)
}
depsInfo.append(Utils.redLight(" - $depName -> "
depsInfo.append(VersionEyeUtils.redLight(" - $depName -> "
+ curVer.asString, out_number, isFailDeps, config.colors)
+ Utils.alt(isFailDeps && !config.colors))
+ VersionEyeUtils.alt(isFailDeps && !config.colors))
}
// Parse licenses
@ -296,9 +318,9 @@ class VersionEyePlugin @Inject constructor(val configActor: ConfigActor<VersionE
if (licensesInfo.isNotEmpty()) {
licensesInfo.append(lf)
}
licensesInfo.append(Utils.redLight(" - $depName: $whitelisted whitelist "
+ Utils.plural("violation", whitelisted, "s"), whitelisted, isFailLicense, config.colors)
+ Utils.alt(isFailLicense && !config.colors))
licensesInfo.append(VersionEyeUtils.redLight(" - $depName: $whitelisted whitelist "
+ VersionEyeUtils.plural("violation", whitelisted, "s"), whitelisted, isFailLicense, config.colors)
+ VersionEyeUtils.alt(isFailLicense && !config.colors))
}
// Unknowns
@ -306,9 +328,9 @@ class VersionEyePlugin @Inject constructor(val configActor: ConfigActor<VersionE
if (licensesInfo.isNotEmpty()) {
licensesInfo.append(lf)
}
licensesInfo.append(Utils.redLight(" - $depName: $unknowns "
+ Utils.plural("unknown license", unknowns, "s"), unknowns, isFailUnknown, config.colors)
+ Utils.alt(isFailUnknown && !config.colors))
licensesInfo.append(VersionEyeUtils.redLight(" - $depName: $unknowns "
+ VersionEyeUtils.plural("unknown license", unknowns, "s"), unknowns, isFailUnknown, config.colors)
+ VersionEyeUtils.alt(isFailUnknown && !config.colors))
}
// Security vulnerabilities
@ -319,9 +341,9 @@ class VersionEyePlugin @Inject constructor(val configActor: ConfigActor<VersionE
}
val count = security.asJsonArray.size()
securityInfo.append(Utils.redLight(" - $depName: $count "
+ Utils.plural("known issue", count, "s"), count, isFailSecurity, config.colors)
+ Utils.alt(isFailSecurity && !config.colors))
securityInfo.append(VersionEyeUtils.redLight(" - $depName: $count "
+ VersionEyeUtils.plural("known issue", count, "s"), count, isFailSecurity, config.colors)
+ VersionEyeUtils.alt(isFailSecurity && !config.colors))
}
}
@ -330,30 +352,32 @@ class VersionEyePlugin @Inject constructor(val configActor: ConfigActor<VersionE
// Log dependencies check results
log(1, " Dependencies: "
+ Utils.redLight(out_number, isFailDeps, config.colors) + " outdated. "
+ Utils.redLight(unknownDeps, false, config.colors) + " unknown. $dep_number total."
+ Utils.alt(isFailDeps && !config.colors))
Utils.log(depsInfo, verbose)
+ VersionEyeUtils.redLight(out_number, isFailDeps, config.colors) + " outdated. "
+ VersionEyeUtils.redLight(unknownDeps, false, config.colors) + " unknown. $dep_number total."
+ VersionEyeUtils.alt(isFailDeps && !config.colors))
VersionEyeUtils.log(depsInfo, verbose)
// Log licenses check results
log(1, " Licenses: "
+ Utils.redLight(licenses_red, isFailLicense, config.colors) + " whitelist. "
+ Utils.redLight(licenses_unknown, isFailUnknown, config.colors)
+ Utils.plural(" unknown", licenses_unknown, "s.", ".")
+ Utils.alt((isFailLicense || isFailUnknown) && !config.colors))
Utils.log(licensesInfo, verbose)
+ VersionEyeUtils.redLight(licenses_red, isFailLicense, config.colors) + " whitelist. "
+ VersionEyeUtils.redLight(licenses_unknown, isFailUnknown, config.colors)
+ VersionEyeUtils.plural(" unknown", licenses_unknown, "s.", ".")
+ VersionEyeUtils.alt((isFailLicense || isFailUnknown) && !config.colors))
VersionEyeUtils.log(licensesInfo, verbose)
// Log security check results
log(1, " Security: "
+ Utils.redLight(sv_count, isFailSecurity, config.colors)
+ VersionEyeUtils.redLight(sv_count, isFailSecurity, config.colors)
+ ' '
+ Utils.plural("vulnerabilit", sv_count, "ies.", "y.")
+ Utils.alt(isFailSecurity && !config.colors))
Utils.log(securityInfo, verbose)
+ VersionEyeUtils.plural("vulnerabilit", sv_count, "ies.", "y.")
+ VersionEyeUtils.alt(isFailSecurity && !config.colors))
VersionEyeUtils.log(securityInfo, verbose)
// Show project url
val baseUrl = if (config.baseUrl.endsWith('/')) config.baseUrl else config.baseUrl + '/'
log(1, " View more at: ${baseUrl}user/projects/$projectKey")
if (!config.temp) {
val baseUrl = if (config.baseUrl.endsWith('/')) config.baseUrl else config.baseUrl + '/'
log(1, " View more at: ${baseUrl}user/projects/$projectKey")
}
}
// Task failure
@ -376,8 +400,10 @@ class VersionEyeConfig {
val failSet: MutableSet<Fail> = mutableSetOf(Fail.securityCheck)
var name = ""
var org = ""
var pom = false
var quiet = false
var team = ""
var temp = false
var verbose = true
var visibility = "public"

View file

@ -1,5 +1,5 @@
/*
* Utils.kt
* VersionEyeUtils.kt
*
* Copyright (c) 2016-2017, Erik C. Thauvin (erik@thauvin.net)
* All rights reserved.
@ -34,7 +34,7 @@ package net.thauvin.erik.kobalt.plugin.versioneye
import com.beust.kobalt.AsciiArt
import com.beust.kobalt.misc.log
open class Utils {
open class VersionEyeUtils private constructor() {
companion object {
// Non-colors failure
fun alt(failed: Boolean): String {
@ -67,6 +67,27 @@ open class Utils {
}
fun red(text: String, colors: Boolean = true): String {
if (!colors) {
return text
}
return AsciiArt.RED + text + AsciiArt.RESET
}
fun yellow(text: String, colors: Boolean = true): String {
if (!colors) {
return text
}
return AsciiArt.YELLOW + text + AsciiArt.RESET
}
fun green(text: String, colors: Boolean = true): String {
if (!colors) {
return text
}
return AsciiArt.GREEN + text + AsciiArt.RESET
}
fun redLight(count: Int, fail: Boolean, colors: Boolean): String {
return redLight(count.toString(), count, fail, colors)
}
@ -75,11 +96,11 @@ open class Utils {
fun redLight(text: String, count: Int, fail: Boolean, colors: Boolean): String {
if (colors) {
if (fail && count > 0) {
return AsciiArt.RED + text + AsciiArt.RESET
return red(text)
} else if (count > 0) {
return AsciiArt.YELLOW + text + AsciiArt.RESET
return yellow(text)
} else {
return AsciiArt.GREEN + text + AsciiArt.RESET
return green(text)
}
}
return text

View file

@ -0,0 +1,103 @@
/*
* VersionEyeUtilsTest.kt
*
* Copyright (c) 2016-2017, Erik C. Thauvin (erik@thauvin.net)
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* Redistributions of source code must retain the above copyright notice, this
* list of conditions and the following disclaimer.
*
* Redistributions in binary form must reproduce the above copyright notice,
* this list of conditions and the following disclaimer in the documentation
* and/or other materials provided with the distribution.
*
* Neither the name of this project nor the names of its contributors may be
* used to endorse or promote products derived from this software without
* specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
package net.thauvin.erik.kobalt.plugin.versioneye
import com.beust.kobalt.AsciiArt
import org.testng.Assert
import org.testng.annotations.Test
@Test
class VersionEyeUtilsTest {
val text = "This is a test"
@Test
fun alt() {
Assert.assertEquals(VersionEyeUtils.alt(false), "", "alt(false")
Assert.assertEquals(VersionEyeUtils.alt(true), " [FAILED]", "alt(true)")
}
@Test
fun plural() {
val singular = "foo"
val plural = "s"
Assert.assertEquals(VersionEyeUtils.plural(singular, 0, plural), singular, "plural($singular, count:0, $plural)")
Assert.assertEquals(VersionEyeUtils.plural(singular, 1, plural), singular, "plural($singular, count:1, $plural)")
Assert.assertEquals(VersionEyeUtils.plural(singular, 2, plural), singular + plural, "plural($singular, count:2," +
"$plural)")
val text = "vulnerabilit"
val y = "y"
val ies = "ies"
Assert.assertEquals(VersionEyeUtils.plural(text, 0, ies, y), text + y, "plural($text, count:0, $ies, $y)")
Assert.assertEquals(VersionEyeUtils.plural(text, 1, ies, y), text + y, "plural($text, count:1, $ies, $y)")
Assert.assertEquals(VersionEyeUtils.plural(text, 2, ies, y), text + ies, "plural($text, count:2, $ies, $y)")
}
@Test
fun red() {
Assert.assertEquals(VersionEyeUtils.red(text), AsciiArt.RED + text + AsciiArt.RESET, "red($text)")
Assert.assertEquals(VersionEyeUtils.red(text, false), text, "red($text)")
}
@Test
fun yellow() {
Assert.assertEquals(VersionEyeUtils.yellow(text), AsciiArt.YELLOW + text + AsciiArt.RESET, "yellow($text)")
Assert.assertEquals(VersionEyeUtils.yellow(text, false), text, "yellow($text)")
}
@Test
fun green() {
Assert.assertEquals(VersionEyeUtils.green(text), AsciiArt.GREEN + text + AsciiArt.RESET, "green($text)")
Assert.assertEquals(VersionEyeUtils.green(text, false), text, "green($text)")
}
@Test
fun redLight() {
Assert.assertEquals(VersionEyeUtils.redLight(text, 1, true, true), AsciiArt.RED + text + AsciiArt.RESET,
"redLight($text, count:1, fail:true, colors:true)")
Assert.assertEquals(VersionEyeUtils.redLight(text, 1, false, true), AsciiArt.YELLOW + text + AsciiArt.RESET,
"redLight($text, count:1, fail:false, colors:true)")
Assert.assertEquals(VersionEyeUtils.redLight(text, 0, false, true), AsciiArt.GREEN + text + AsciiArt.RESET,
"redLight($text, count:0, fail:false, colors:true)")
Assert.assertEquals(VersionEyeUtils.redLight(text, 1, false, false), text,
"redLight($text, count:1, fail:false, colors:false)")
Assert.assertEquals(VersionEyeUtils.redLight(1, true, true), AsciiArt.RED + 1 + AsciiArt.RESET,
"redLight(count:1, fail:true, colors:true)")
Assert.assertEquals(VersionEyeUtils.redLight(1, false, true), AsciiArt.YELLOW + 1 + AsciiArt.RESET,
"redLight(count:1, fail:false, colors:true)")
Assert.assertEquals(VersionEyeUtils.redLight(0, false, true), AsciiArt.GREEN + 0 + AsciiArt.RESET,
"redLight(count:0, fail:false, colors:true)")
Assert.assertEquals(VersionEyeUtils.redLight(1, false, false), "1",
"redLight(count:1, fail:false, colors:false)")
}
}