Skip to content

Commit 2afb0dc

Browse files
authored
Merge pull request #22 from delphi-hub/develop
Pre-Release Merge
2 parents a47de6e + c0ba94f commit 2afb0dc

File tree

13 files changed

+251
-67
lines changed

13 files changed

+251
-67
lines changed

.travis.yml

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,8 @@
11
language: scala
22
scala:
3-
- 2.12.4
3+
- 2.12.4
4+
script:
5+
- 'if [ "$TRAVIS_PULL_REQUEST" != "false" ]; then sbt ++$TRAVIS_SCALA_VERSION test; fi'
6+
- 'if [ "$TRAVIS_PULL_REQUEST" = "false" ]; then sbt ++$TRAVIS_SCALA_VERSION coverage test coverageReport coverageAggregate codacyCoverage; fi'
7+
after_success:
8+
- 'if [ "$TRAVIS_PULL_REQUEST" = "false" ]; then bash <(curl -s https://codecov.io/bash); fi'

LICENSE

Lines changed: 1 addition & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -175,18 +175,7 @@
175175

176176
END OF TERMS AND CONDITIONS
177177

178-
APPENDIX: How to apply the Apache License to your work.
179-
180-
To apply the Apache License to your work, attach the following
181-
boilerplate notice, with the fields enclosed by brackets "[]"
182-
replaced with your own identifying information. (Don't include
183-
the brackets!) The text should be enclosed in the appropriate
184-
comment syntax for the file format. We also recommend that a
185-
file or class name and description of purpose be included on the
186-
same "printed page" as the copyright notice for easier
187-
identification within third-party archives.
188-
189-
Copyright [yyyy] [name of copyright owner]
178+
Copyright 2018 The Delphi Team (represented by Ben Hermann)
190179

191180
Licensed under the Apache License, Version 2.0 (the "License");
192181
you may not use this file except in compliance with the License.

build.sbt

Lines changed: 19 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,36 @@
1-
name := "delphi-cli"
1+
scalaVersion := "2.12.4"
22

3+
name := "delphi-cli"
34
version := "1.0.0-SNAPSHOT"
5+
maintainer := "Ben Hermann <[email protected]>"
46

5-
scalaVersion := "2.12.4"
7+
licenses := Seq("Apache-2.0" -> url("http://www.apache.org/licenses/LICENSE-2.0.html"))
8+
9+
packageSummary := "Windows Package for the Delphi CLI"
10+
packageDescription := """Windows Package for the Delphi CLI"""
11+
wixProductId := "ce07be71-510d-414a-92d4-dff47631848a"
12+
wixProductUpgradeId := "4552fb0e-e257-4dbd-9ecb-dba9dbacf424"
13+
14+
scalastyleConfig := baseDirectory.value / "project" / "scalastyle_config.xml"
615

716
libraryDependencies += "com.github.scopt" %% "scopt" % "3.7.0"
817
libraryDependencies ++= Seq(
918
"com.typesafe.akka" %% "akka-http-core" % "10.0.11"
1019
)
1120

21+
debianPackageDependencies := Seq("java8-runtime-headless")
22+
1223
lazy val cli = (project in file(".")).
1324
enablePlugins(JavaAppPackaging).
1425
enablePlugins(DockerPlugin).
26+
enablePlugins(ScalastylePlugin).
1527
enablePlugins(BuildInfoPlugin).
28+
enablePlugins(DebianPlugin).
29+
enablePlugins(WindowsPlugin).
30+
1631
settings(
1732
buildInfoKeys := Seq[BuildInfoKey](name, version, scalaVersion, sbtVersion),
1833
buildInfoPackage := "de.upb.cs.swt.delphi.cli"
1934
)
35+
scalastyleConfig := baseDirectory.value / "project" / "scalastyle-config.xml"
36+

project/build.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
sbt.version = 0.13.17
1+
sbt.version = 1.1.1

project/plugins.sbt

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,13 @@
1+
// build management and packaging
12
addSbtPlugin("com.eed3si9n" % "sbt-buildinfo" % "0.7.0")
23
addSbtPlugin("com.typesafe.sbt" % "sbt-native-packager" % "1.3.2")
4+
5+
// coverage
6+
addSbtPlugin("org.scoverage" % "sbt-scoverage" % "1.5.1")
7+
addSbtPlugin("com.codacy" % "sbt-codacy-coverage" % "1.3.12")
8+
9+
// preparation for dependency checking
10+
addSbtPlugin("net.virtual-void" % "sbt-dependency-graph" % "0.9.1")
11+
12+
// scalastyle
13+
addSbtPlugin("org.scalastyle" %% "scalastyle-sbt-plugin" % "1.0.0")

project/scalastyle-config.xml

Lines changed: 117 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,117 @@
1+
<scalastyle>
2+
<name>Scalastyle standard configuration</name>
3+
<check level="warning" class="org.scalastyle.file.FileTabChecker" enabled="true"></check>
4+
<check level="warning" class="org.scalastyle.file.FileLengthChecker" enabled="true">
5+
<parameters>
6+
<parameter name="maxFileLength"><![CDATA[800]]></parameter>
7+
</parameters>
8+
</check>
9+
<check level="warning" class="org.scalastyle.file.HeaderMatchesChecker" enabled="true">
10+
<parameters>
11+
<parameter name="header"><![CDATA[// Copyright (C) 2011-2012 the original author or authors.
12+
// See the LICENCE.txt file distributed with this work for additional
13+
// information regarding copyright ownership.
14+
//
15+
// Licensed under the Apache License, Version 2.0 (the "License");
16+
// you may not use this file except in compliance with the License.
17+
// You may obtain a copy of the License at
18+
//
19+
// http://www.apache.org/licenses/LICENSE-2.0
20+
//
21+
// Unless required by applicable law or agreed to in writing, software
22+
// distributed under the License is distributed on an "AS IS" BASIS,
23+
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
24+
// See the License for the specific language governing permissions and
25+
// limitations under the License.]]></parameter>
26+
</parameters>
27+
</check>
28+
<check level="warning" class="org.scalastyle.scalariform.SpacesAfterPlusChecker" enabled="true"></check>
29+
<check level="warning" class="org.scalastyle.file.WhitespaceEndOfLineChecker" enabled="true"></check>
30+
<check level="warning" class="org.scalastyle.scalariform.SpacesBeforePlusChecker" enabled="true"></check>
31+
<check level="warning" class="org.scalastyle.file.FileLineLengthChecker" enabled="true">
32+
<parameters>
33+
<parameter name="maxLineLength"><![CDATA[160]]></parameter>
34+
<parameter name="tabSize"><![CDATA[4]]></parameter>
35+
</parameters>
36+
</check>
37+
<check level="warning" class="org.scalastyle.scalariform.ClassNamesChecker" enabled="true">
38+
<parameters>
39+
<parameter name="regex"><![CDATA[[A-Z][A-Za-z]*]]></parameter>
40+
</parameters>
41+
</check>
42+
<check level="warning" class="org.scalastyle.scalariform.ObjectNamesChecker" enabled="true">
43+
<parameters>
44+
<parameter name="regex"><![CDATA[[A-Z][A-Za-z]*]]></parameter>
45+
</parameters>
46+
</check>
47+
<check level="warning" class="org.scalastyle.scalariform.PackageObjectNamesChecker" enabled="true">
48+
<parameters>
49+
<parameter name="regex"><![CDATA[^[a-z][A-Za-z]*$]]></parameter>
50+
</parameters>
51+
</check>
52+
<check level="warning" class="org.scalastyle.scalariform.EqualsHashCodeChecker" enabled="true"></check>
53+
<check level="warning" class="org.scalastyle.scalariform.IllegalImportsChecker" enabled="true">
54+
<parameters>
55+
<parameter name="illegalImports"><![CDATA[sun._,java.awt._]]></parameter>
56+
</parameters>
57+
</check>
58+
<check level="warning" class="org.scalastyle.scalariform.ParameterNumberChecker" enabled="true">
59+
<parameters>
60+
<parameter name="maxParameters"><![CDATA[8]]></parameter>
61+
</parameters>
62+
</check>
63+
<check level="warning" class="org.scalastyle.scalariform.MagicNumberChecker" enabled="true">
64+
<parameters>
65+
<parameter name="ignore"><![CDATA[-1,0,1,2,3]]></parameter>
66+
</parameters>
67+
</check>
68+
<check level="warning" class="org.scalastyle.scalariform.NoWhitespaceBeforeLeftBracketChecker" enabled="true"></check>
69+
<check level="warning" class="org.scalastyle.scalariform.NoWhitespaceAfterLeftBracketChecker" enabled="true"></check>
70+
<check level="warning" class="org.scalastyle.scalariform.ReturnChecker" enabled="true"></check>
71+
<check level="warning" class="org.scalastyle.scalariform.NullChecker" enabled="true"></check>
72+
<check level="warning" class="org.scalastyle.scalariform.NoCloneChecker" enabled="true"></check>
73+
<check level="warning" class="org.scalastyle.scalariform.NoFinalizeChecker" enabled="true"></check>
74+
<check level="warning" class="org.scalastyle.scalariform.CovariantEqualsChecker" enabled="true"></check>
75+
<check level="warning" class="org.scalastyle.scalariform.StructuralTypeChecker" enabled="true"></check>
76+
<check level="warning" class="org.scalastyle.file.RegexChecker" enabled="true">
77+
<parameters>
78+
<parameter name="regex"><![CDATA[println]]></parameter>
79+
</parameters>
80+
</check>
81+
<check level="warning" class="org.scalastyle.scalariform.NumberOfTypesChecker" enabled="true">
82+
<parameters>
83+
<parameter name="maxTypes"><![CDATA[30]]></parameter>
84+
</parameters>
85+
</check>
86+
<check level="warning" class="org.scalastyle.scalariform.CyclomaticComplexityChecker" enabled="true">
87+
<parameters>
88+
<parameter name="maximum"><![CDATA[10]]></parameter>
89+
</parameters>
90+
</check>
91+
<check level="warning" class="org.scalastyle.scalariform.UppercaseLChecker" enabled="true"></check>
92+
<check level="warning" class="org.scalastyle.scalariform.SimplifyBooleanExpressionChecker" enabled="true"></check>
93+
<check level="warning" class="org.scalastyle.scalariform.IfBraceChecker" enabled="true">
94+
<parameters>
95+
<parameter name="singleLineAllowed"><![CDATA[true]]></parameter>
96+
<parameter name="doubleLineAllowed"><![CDATA[false]]></parameter>
97+
</parameters>
98+
</check>
99+
<check level="warning" class="org.scalastyle.scalariform.MethodLengthChecker" enabled="true">
100+
<parameters>
101+
<parameter name="maxLength"><![CDATA[50]]></parameter>
102+
</parameters>
103+
</check>
104+
<check level="warning" class="org.scalastyle.scalariform.MethodNamesChecker" enabled="true">
105+
<parameters>
106+
<parameter name="regex"><![CDATA[^[a-z][A-Za-z0-9]*$]]></parameter>
107+
</parameters>
108+
</check>
109+
<check level="warning" class="org.scalastyle.scalariform.NumberOfMethodsInTypeChecker" enabled="true">
110+
<parameters>
111+
<parameter name="maxMethods"><![CDATA[30]]></parameter>
112+
</parameters>
113+
</check>
114+
<check level="warning" class="org.scalastyle.scalariform.PublicMethodsHaveTypeChecker" enabled="true"></check>
115+
<check level="warning" class="org.scalastyle.file.NewLineAtEofChecker" enabled="true"></check>
116+
<check level="warning" class="org.scalastyle.file.NoNewLineAtEofChecker" enabled="false"></check>
117+
</scalastyle>

src/main/scala/de/upb/cs/swt/delphi/cli/Command.scala

Lines changed: 0 additions & 14 deletions
This file was deleted.

src/main/scala/de/upb/cs/swt/delphi/cli/Config.scala

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,5 @@ package de.upb.cs.swt.delphi.cli
66
* @param verbose Marker if logging should be verbose
77
* @param mode The command to be run
88
*/
9-
case class Config (server : String = sys.env.getOrElse("DELPHI_SERVER", "https://delphi.cs.uni-paderborn.de/api/"), verbose: Boolean = false, mode : String = "") {
10-
11-
}
9+
case class Config (server : String = sys.env.getOrElse("DELPHI_SERVER", "https://delphi.cs.uni-paderborn.de/api/"),
10+
verbose: Boolean = false, mode : String = "", args : List[String] = List(), opts : List[String] = List())

src/main/scala/de/upb/cs/swt/delphi/cli/DelphiCLI.scala

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
package de.upb.cs.swt.delphi.cli
22

3+
import de.upb.cs.swt.delphi.cli.commands.{RetrieveCommand, TestCommand}
4+
35

46
/**
57
* The application class for the Delphi command line interface
@@ -20,8 +22,16 @@ object DelphiCLI extends App {
2022
checkConfig(c => if (c.server.isEmpty()) failure("Option server is required.") else success)
2123

2224
cmd("test").action((_,c) => c.copy(mode = "test"))
25+
26+
cmd("retrieve").action((s,c) => c.copy(mode = "retrieve"))
27+
.text("Retrieve a project's description, specified by ID.")
28+
.children(
29+
arg[String]("ID").action((x, c) => c.copy(args = List(x))).text("The ID of the project to retrieve"),
30+
opt[Unit]('f', "file").action((_, c) => c.copy(opts = List("file"))).text("Use to load the ID from file, " +
31+
"with the filepath given in place of the ID")
32+
)
33+
2334
//cmd("search")
24-
//cmd("retrieve")
2535
}
2636
}
2737

@@ -31,6 +41,7 @@ object DelphiCLI extends App {
3141
cliParser.showHeader()
3242
config.mode match {
3343
case "test" => TestCommand.execute(config)
44+
case "retrieve" => RetrieveCommand.execute(config)
3445
case _ => println("Unknown command")
3546
}
3647

src/main/scala/de/upb/cs/swt/delphi/cli/TestCommand.scala

Lines changed: 0 additions & 33 deletions
This file was deleted.

0 commit comments

Comments
 (0)