Add the basic scaffolding for the plugin to build

This commit is contained in:
R. Tyler Croy 2017-09-09 08:28:52 -07:00
parent affa2e8f85
commit 92bc30553a
No known key found for this signature in database
GPG Key ID: 1426C7DC3F51E16F
9 changed files with 150 additions and 0 deletions

3
.gitignore vendored
View File

@ -57,3 +57,6 @@ typings/
# dotenv environment variables file
.env
node/
target/
work/

0
.mvn_exec_node Normal file
View File

21
Makefile Normal file
View File

@ -0,0 +1,21 @@
MVN_ARGS=-B -DskipTests
all: target/codevalet.hpi
check: target/codevalet.hpi
target/codevalet.hpi:
mvn $(MVN_ARGS) install
run: target/codevalet.hpi
mvn $(MVN_ARGS) hpi:run
watch:
export PATH=./node:$$PATH && npm run bundle:watch
clean:
rm -rf target work
.PHONY: all check clean run

32
package.json Normal file
View File

@ -0,0 +1,32 @@
{
"name": "codevalet",
"version": "0.1.0",
"description": "Provide Code Valet functionality in Jenkins",
"scripts": {
"bundle:watch": "jjsbuilder --tasks bundle:watch",
"mvnbuild": "jjsbuilder --tasks bundle",
"mvntest": "jjsbuilder --tasks test"
},
"author": "R Tyler Croy <tyler@linux.com>",
"license": "AGPL",
"devDependencies": {
"@jenkins-cd/blueocean-core-js": "0.0.150",
"@jenkins-cd/design-language": "0.0.145",
"@jenkins-cd/js-builder": "0.0.59",
"@jenkins-cd/js-extensions": "0.0.36",
"babel": "6.5.2",
"babel-core": "6.17.0",
"babel-preset-es2015": "6.16.0",
"babel-preset-react": "6.16.0",
"babel-preset-stage-0": "6.16.0",
"babel-plugin-transform-decorators-legacy": "1.3.4",
"react": "15.6.1",
"react-dom": "15.6.1",
"react-router": "2.3.0"
},
"dependencies": {
"@jenkins-cd/js-modules": "0.0.8",
"mobx": "2.6.0",
"mobx-react": "3.5.7"
}
}

59
pom.xml Normal file
View File

@ -0,0 +1,59 @@
<?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/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.jenkins-ci.plugins</groupId>
<artifactId>plugin</artifactId>
<version>2.30</version>
</parent>
<name>Code Valet</name>
<artifactId>codevalet-plugin</artifactId>
<version>0.1-SNAPSHOT</version>
<packaging>hpi</packaging>
<url>https://codevalet.io/</url>
<properties>
<java.level>7</java.level>
<jenkins.version>2.7.4</jenkins.version>
<node.version>6.2.1</node.version>
<npm.version>3.10.10</npm.version>
<blueocean.version>1.2.0</blueocean.version>
</properties>
<dependencies>
<dependency>
<groupId>io.jenkins.blueocean</groupId>
<artifactId>blueocean</artifactId>
<version>${blueocean.version}</version>
</dependency>
<dependency>
<groupId>io.jenkins.blueocean</groupId>
<artifactId>blueocean-rest</artifactId>
<version>${blueocean.version}</version>
</dependency>
<dependency>
<groupId>io.jenkins.blueocean</groupId>
<artifactId>blueocean-web</artifactId>
<version>${blueocean.version}</version>
</dependency>
<dependency>
<groupId>org.jenkins-ci.plugins</groupId>
<artifactId>structs</artifactId>
<version>1.10</version>
</dependency>
</dependencies>
<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>

View File

@ -0,0 +1,19 @@
package io.codevalet.plugins.codevalet;
import hudson.Extension;
import io.jenkins.blueocean.commons.PageStatePreloader;
/**
*/
@Extension
public class CodeValet extends PageStatePreloader {
@Override
public String getStatePropertyPath() {
return "codevalet";
}
@Override
public String getStateJson() {
return "{}";
}
}

11
src/main/js/TopLink.jsx Normal file
View File

@ -0,0 +1,11 @@
import React from 'react';
import ReactDOM from 'react-dom';
import { SvgStatus } from '@jenkins-cd/design-language';
export default () =>
<Link className=""
to="https://codevalet.io/profile"
title="Return to profile">
Profile
</Link>
;

View File

@ -0,0 +1,4 @@
# Extensions in this plugin
extensions:
- extensionPoint: jenkins.blueocean.top.links
component: TopLink

View File

@ -0,0 +1 @@
/* this space intentionally left blank */