Compare commits
7 commits
1c8fc1d685
...
c9585f3a5c
Author | SHA1 | Date | |
---|---|---|---|
c9585f3a5c | |||
e8c901c6c1 | |||
f55e010286 | |||
610a042ced | |||
ccc04bf81d | |||
4e373bfd10 | |||
91a113ed5a |
7 changed files with 73 additions and 24 deletions
18
.github/workflows/bld.yml
vendored
18
.github/workflows/bld.yml
vendored
|
@ -1,14 +1,16 @@
|
|||
name: bld-ci
|
||||
|
||||
on: [push, pull_request, workflow_dispatch]
|
||||
on: [ push, pull_request, workflow_dispatch ]
|
||||
|
||||
jobs:
|
||||
build-bld-project:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
strategy:
|
||||
matrix:
|
||||
java-version: [17, 21, 24]
|
||||
java-version: [ 17, 21, 24 ]
|
||||
kotlin-version: [ 1.9.25, 2.0.21, 2.1.20 ]
|
||||
os: [ ubuntu-latest, windows-latest, macos-latest ]
|
||||
|
||||
runs-on: ${{ matrix.os }}
|
||||
|
||||
steps:
|
||||
- name: Checkout source repository
|
||||
|
@ -22,6 +24,14 @@ jobs:
|
|||
distribution: "zulu"
|
||||
java-version: ${{ matrix.java-version }}
|
||||
|
||||
- name: Download dependencies [examples]
|
||||
working-directory: examples
|
||||
run: ./bld download
|
||||
|
||||
- name: Compile and Run Checkstyle [examples]
|
||||
working-directory: examples
|
||||
run: ./bld compile checkstyle-custom
|
||||
|
||||
- name: Download dependencies
|
||||
run: ./bld download
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
bld.downloadExtensionJavadoc=false
|
||||
bld.downloadExtensionSources=true
|
||||
bld.downloadLocation=
|
||||
bld.extension-checkstyle=com.uwyn.rife2:bld-checkstyle:1.0.13
|
||||
bld.extension-checkstyle=com.uwyn.rife2:bld-checkstyle:1.0.14-SNAPSHOT
|
||||
bld.repositories=MAVEN_LOCAL,MAVEN_CENTRAL,RIFE2_SNAPSHOTS,RIFE2_RELEASES
|
||||
bld.sourceDirectories=
|
||||
bld.version=2.2.1
|
||||
|
|
|
@ -5,6 +5,9 @@ import rife.bld.BuildCommand;
|
|||
import rife.bld.extension.CheckstyleOperation;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.logging.ConsoleHandler;
|
||||
import java.util.logging.Level;
|
||||
import java.util.logging.Logger;
|
||||
|
||||
import static rife.bld.dependencies.Repository.MAVEN_CENTRAL;
|
||||
import static rife.bld.dependencies.Scope.*;
|
||||
|
@ -29,10 +32,20 @@ public class ExamplesBuild extends BaseProject {
|
|||
}
|
||||
|
||||
public static void main(String[] args) {
|
||||
// Enable detailed logging for the extensions
|
||||
var level = Level.ALL;
|
||||
var logger = Logger.getLogger("rife.bld.extension");
|
||||
var consoleHandler = new ConsoleHandler();
|
||||
|
||||
consoleHandler.setLevel(level);
|
||||
logger.addHandler(consoleHandler);
|
||||
logger.setLevel(level);
|
||||
logger.setUseParentHandlers(false);
|
||||
|
||||
new ExamplesBuild().start(args);
|
||||
}
|
||||
|
||||
@BuildCommand(summary = "Check code style")
|
||||
@BuildCommand(summary = "Check code style using Sun coding conventions")
|
||||
public void checkstyle() throws Exception {
|
||||
new CheckstyleOperation()
|
||||
.fromProject(this)
|
||||
|
@ -40,4 +53,11 @@ public class ExamplesBuild extends BaseProject {
|
|||
.execute();
|
||||
}
|
||||
|
||||
@BuildCommand(value = "checkstyle-custom", summary = "Check code style using custom coding conventions")
|
||||
public void checkstyleCustom() throws Exception {
|
||||
new CheckstyleOperation()
|
||||
.fromProject(this)
|
||||
.configurationFile("src/test/resources/checkstyle.xml")
|
||||
.execute();
|
||||
}
|
||||
}
|
||||
|
|
10
examples/src/test/resources/checkstyle.xml
Normal file
10
examples/src/test/resources/checkstyle.xml
Normal file
|
@ -0,0 +1,10 @@
|
|||
<!DOCTYPE module PUBLIC
|
||||
"-//Puppy Crawl//DTD Check Configuration 1.3//EN"
|
||||
"http://www.puppycrawl.com/dtds/configuration_1_3.dtd">
|
||||
<module name="Checker">
|
||||
<module name="TreeWalker">
|
||||
<module name="AvoidStarImport">
|
||||
<property name="severity" value="warning" />
|
||||
</module>
|
||||
</module>
|
||||
</module>
|
|
@ -23,6 +23,7 @@ import rife.bld.publish.PublishLicense;
|
|||
import rife.bld.publish.PublishScm;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Locale;
|
||||
|
||||
import static rife.bld.dependencies.Repository.*;
|
||||
import static rife.bld.dependencies.Scope.compile;
|
||||
|
@ -99,10 +100,13 @@ public class CheckstyleOperationBuild extends Project {
|
|||
|
||||
@Override
|
||||
public void test() throws Exception {
|
||||
var os = System.getProperty("os.name");
|
||||
if (os != null && os.toLowerCase(Locale.US).contains("linux")) {
|
||||
new ExecOperation()
|
||||
.fromProject(this)
|
||||
.command("scripts/cliargs.sh")
|
||||
.execute();
|
||||
}
|
||||
super.test();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -235,9 +235,9 @@ public class CheckstyleOperation extends AbstractProcessOperation<CheckstyleOper
|
|||
args.add(javaTool());
|
||||
|
||||
args.add("-cp");
|
||||
args.add(String.format("%s:%s:%s:%s", new File(project_.libTestDirectory(), "*"),
|
||||
new File(project_.libCompileDirectory(), "*"), project_.buildMainDirectory(),
|
||||
project_.buildTestDirectory()));
|
||||
args.add(String.format("%s%s%s%s%s%s%s", new File(project_.libTestDirectory(), "*"),
|
||||
File.pathSeparator, new File(project_.libCompileDirectory(), "*"), File.pathSeparator,
|
||||
project_.buildMainDirectory(), File.pathSeparator, project_.buildTestDirectory()));
|
||||
args.add("com.puppycrawl.tools.checkstyle.Main");
|
||||
|
||||
options_.forEach((k, v) -> {
|
||||
|
@ -250,7 +250,8 @@ public class CheckstyleOperation extends AbstractProcessOperation<CheckstyleOper
|
|||
if (!exclude_.isEmpty()) {
|
||||
for (var e : exclude_) {
|
||||
if (e.exists()) {
|
||||
args.add("-e " + e.getAbsolutePath());
|
||||
args.add("-e");
|
||||
args.add(e.getAbsolutePath());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -258,7 +259,8 @@ public class CheckstyleOperation extends AbstractProcessOperation<CheckstyleOper
|
|||
if (!excludeRegex_.isEmpty()) {
|
||||
for (var e : excludeRegex_) {
|
||||
if (isNotBlank(e)) {
|
||||
args.add("-x " + e);
|
||||
args.add("-x");
|
||||
args.add(e);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -19,6 +19,8 @@ package rife.bld.extension;
|
|||
import org.assertj.core.api.AutoCloseableSoftAssertions;
|
||||
import org.junit.jupiter.api.BeforeAll;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.junit.jupiter.api.condition.EnabledOnOs;
|
||||
import org.junit.jupiter.api.condition.OS;
|
||||
import rife.bld.BaseProject;
|
||||
import rife.bld.Project;
|
||||
import rife.bld.WebProject;
|
||||
|
@ -65,6 +67,7 @@ class CheckstyleOperationTest {
|
|||
}
|
||||
|
||||
@Test
|
||||
@EnabledOnOs(OS.LINUX)
|
||||
void checkAllParameters() throws IOException {
|
||||
var args = Files.readAllLines(Paths.get("src", "test", "resources", "checkstyle-args.txt"));
|
||||
|
||||
|
@ -125,27 +128,27 @@ class CheckstyleOperationTest {
|
|||
var e = "-e ";
|
||||
|
||||
var op = new CheckstyleOperation().fromProject(new Project()).exclude(SRC_MAIN_JAVA, SRC_TEST_JAVA);
|
||||
assertThat(op.executeConstructProcessCommandList()).as("String...")
|
||||
assertThat(String.join(" ", op.executeConstructProcessCommandList())).as("String...")
|
||||
.contains(e + foo.getAbsolutePath()).contains(e + bar.getAbsolutePath());
|
||||
|
||||
op = new CheckstyleOperation().fromProject(new Project()).excludeStrings(List.of(SRC_MAIN_JAVA, SRC_TEST_JAVA));
|
||||
assertThat(op.executeConstructProcessCommandList()).as("List(String...)")
|
||||
assertThat(String.join(" ", op.executeConstructProcessCommandList())).as("List(String...)")
|
||||
.contains(e + foo.getAbsolutePath()).contains(e + bar.getAbsolutePath());
|
||||
|
||||
op = new CheckstyleOperation().fromProject(new Project()).exclude(foo, bar);
|
||||
assertThat(op.executeConstructProcessCommandList()).as("File...")
|
||||
assertThat(String.join(" ", op.executeConstructProcessCommandList())).as("File...")
|
||||
.contains(e + foo.getAbsolutePath()).contains(e + bar.getAbsolutePath());
|
||||
|
||||
op = new CheckstyleOperation().fromProject(new Project()).exclude(List.of(foo, bar));
|
||||
assertThat(op.executeConstructProcessCommandList()).as("List(File...)")
|
||||
assertThat(String.join(" ", op.executeConstructProcessCommandList())).as("List(File...)")
|
||||
.contains(e + foo.getAbsolutePath()).contains(e + bar.getAbsolutePath());
|
||||
|
||||
op = new CheckstyleOperation().fromProject(new Project()).exclude(foo.toPath(), bar.toPath());
|
||||
assertThat(op.executeConstructProcessCommandList()).as("Path...")
|
||||
assertThat(String.join(" ", op.executeConstructProcessCommandList())).as("Path...")
|
||||
.contains(e + foo.getAbsolutePath()).contains(e + bar.getAbsolutePath());
|
||||
|
||||
op = new CheckstyleOperation().fromProject(new Project()).excludePaths(List.of(foo.toPath(), bar.toPath()));
|
||||
assertThat(op.executeConstructProcessCommandList()).as("List(Path...)")
|
||||
assertThat(String.join(" ", op.executeConstructProcessCommandList())).as("List(Path...)")
|
||||
.contains(e + foo.getAbsolutePath()).contains(e + bar.getAbsolutePath());
|
||||
}
|
||||
|
||||
|
@ -153,10 +156,10 @@ class CheckstyleOperationTest {
|
|||
void excludeRegex() {
|
||||
var op = new CheckstyleOperation().fromProject(new Project()).excludeRegex(FOO, BAR);
|
||||
var x = "-x ";
|
||||
assertThat(op.executeConstructProcessCommandList()).contains(x + FOO, x + BAR);
|
||||
assertThat(String.join(" ", op.executeConstructProcessCommandList())).contains(x + FOO, x + BAR);
|
||||
|
||||
op = new CheckstyleOperation().fromProject(new Project()).excludeRegex(List.of(FOO, BAR));
|
||||
assertThat(op.executeConstructProcessCommandList()).as("as list").contains(x + FOO, x + BAR);
|
||||
assertThat(String.join(" ", op.executeConstructProcessCommandList())).as("as list").contains(x + FOO, x + BAR);
|
||||
}
|
||||
|
||||
@Test
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue