Thanks to visit codestin.com
Credit goes to github.com

Skip to content
This repository was archived by the owner on Sep 18, 2025. It is now read-only.

Releases: skippy-io/skippy

v0.0.25

03 Dec 12:21

Choose a tag to compare

What's Changed

  • issues/200: support for Class files w/o location information by @fmck3516 in #201
  • issues/200: support for Class files w/o location information by @fmck3516 in #202

Full Changelog: v0.0.24...v0.0.25

v0.0.24

22 Nov 02:24

Choose a tag to compare

Highlights

  • #162: Support for Android
  • #133: Support for duplicate class names across output folders

Other Noteworthy Changes

  • JUnit 5 versions 5.0, 5.1, 5.2 and 5.3 are no longer supported
  • JUnit 4 versions 4.10 and 4.11 are no longer supported
  • Support for JUnit 4 is now provided as @Rule instead of @ClassRule

JUnit 4 integration (new):

public class MyTest {

    @Rule
    public TestRule skippyRule = Skippy.predictWithSkippy();

    ...

}

JUnit 4 integration (old):

public class MyTest {

    @ClassRule
    public static TestRule skippyRule = Skippy.predictWithSkippy();

    ...

}

What's Changed

  • issues/162: added skeleton for skippy-gradle-android by @fmck3516 in #181
  • issues/162: feat(android): Add AndroidTestSourceSetCollector by @Link184 in #182
  • housekeeping: some work on naming and code-level documentation by @fmck3516 in #184
  • Issues/186: skippyClean: add support for --rerun option by @fmck3516 in #188
  • issues/133 (part 1): Make predictions based on Class instance instead of class name by @fmck3516 in #190
  • issues/133: part 2 - allow build plugins to pass parameters to JUnit … by @fmck3516 in #191
  • issues/133: part 3 - introduction of ClassFileSelector by @fmck3516 in #192
  • issues/133: part 4 - changed signature of ClassFileSelector by @fmck3516 in #193
  • issues/133: Add support for duplicate class names across output directories by @fmck3516 in #195
  • issues/133: follow-ups by @fmck3516 in #197
  • issues/185: bugfix by @fmck3516 in #198

New Contributors

Full Changelog: v0.0.23...v0.0.24

v0.0.23

04 Nov 02:28

Choose a tag to compare

What's Changed

  • issues/170: Gradle & @Nested tests: Propagate test failures to parents by @fmck3516 in #171
  • issues/172: Replace propagation of test failures with reasoning over … by @fmck3516 in #173
  • issues/174: Replace result field in test-imact-analysis.json with tags array by @fmck3516 in #175
  • issues/176: Replace failed-tests.txt with tags.txt by @fmck3516 in #177
  • Issues/161: add support for @AlwaysRun annotation to complemented automated extension registry by @fmck3516 in #178
  • issues/179: skippyClean must write config.json by @fmck3516 in #180

Full Changelog: v0.0.22...v0.0.23

v0.0.22

25 Oct 17:56

Choose a tag to compare

Highlights

This release introduces support for Gradle's Configuration Cache.

Thanks to @Kantis for the bug report (#159).

What's Changed

  • Issues/159: Support Gradle configuration cache by @fmck3516 in #169

Full Changelog: v0.0.21...v0.0.22

v0.0.21

20 Oct 21:21

Choose a tag to compare

Highlights

This release introduces support for JUnit5's @Nested tests.

Thanks to @pjmatros for the bug report (#163), initial PR and constructive PR feedback.

What's Changed

  • issues/163: Support for JUnit 5s @Nested classes by @fmck3516 in #168

Full Changelog: v0.0.20...v0.0.21

v0.0.20

25 May 13:46

Choose a tag to compare

What's Changed

  • issues/153: JSON deserialization changes the id of a Test Impact Anal… by @fmck3516 in #154
  • issues/155: skippy-gradle: tasks access extension before it is initia… by @fmck3516 in #156

Full Changelog: v0.0.19...v0.0.20

v0.0.19

11 Apr 13:09

Choose a tag to compare

Highlights

This release introduces the SkippyRepositoryExtension interface. It allows projects to customize the way Skippy reads and writes data.

Skippy's default behavior:

  • It stores and retrieves all data in / from the .skippy folder.
  • It only retains the latest Test Impact Analysis and.
  • It only retains the JaCoCo execution data files that are referenced by the latest Test Impact Analysis.

The default settings are designed for small projects that do not require code coverage reports, and thus, do not store JaCoCo execution data files. Those projects will typically disable the coverageForSkippedTests setting. While these defaults support projects of any size and allow for the storage of JaCoCo data files for experimental purposes, they are not recommended for large projects or those needing to store such files long-term. Doing so could significantly increase the size of your Git repository.

Large projects aiming to store and permanently retain Test Impact Analysis instances and JaCoCo execution data files can register a custom SkippyRepositoryExtension. This extension enables the storage of these artifacts outside the project’s repository using systems such as databases, network file systems, or blob storage solutions like AWS S3.

Example for a custom SkippyRepositoryExtension: FileSystemBackedRepositoryExtension

Gradle Configuration

To enable this feature in Gradle, add the following to your build.gradle file:

buildscript {    
    dependencies {
        classpath 'com.example:my-repository-extension:1.0.0'
    }
}

skippy {
    repository = 'com.example.MyRepositoryExtension'
}

dependencies {
    testImplementation 'com.example:my-repository-extension:1.0.0'
}

Maven Configuration

To enable this feature in Maven, add the following to your pom.xml file:

  <dependencies>
    <dependency>
      <groupId>com.example</groupId>
      <artifactId>my-repository-extension</artifactId>
      <version>1.0.0</version>
      <scope>test</scope>
    </dependency>
  </dependencies>

  <plugin>
    <groupId>io.skippy</groupId>
    <artifactId>skippy-maven</artifactId>
    <dependencies>
      <dependency>
        <groupId>com.example</groupId>
        <artifactId>my-repository-extension</artifactId>
        <version>1.0.0</version>
      </dependency>
    </dependencies>
    <configuration>
      <repository>com.example.MyRepositoryExtension</repository>
    </configuration>
  </plugin>

Other noteworthy changes

The setting saveExecutionData has been renamed to coverageForSkippedTest to highlight the purpose instead of the implementation details.

Gradle example:

skippy {
    coverageForSkippedTests = true
}

Maven example:

<plugin>
  <groupId>io.skippy</groupId>  
  <artifactId>skippy-maven</artifactId>
  ...
  <configuration>
    <coverageForSkippedTest>true</coverageForSkippedTest>
  </configuration>
  ...   
</plugin>

Resolved Issues

  • #150: Allow projects to customize SkippyRepository's default behavior

v0.0.18

25 Mar 01:32

Choose a tag to compare

Highlights

This release introduces support for generating coverage reports that include coverage for skipped tests. This feature is particularly useful for corporate CI pipelines with strict code coverage requirements.

Gradle Configuration

To enable this feature in Gradle, add the following to your build.gradle file:

skippy {
    saveExecutionData = true
}

Maven Configuration

To enable this feature in Maven, add the following to your pom.xml file:

<plugin>
        <groupId>io.skippy</groupId>
        <artifactId>skippy-maven</artifactId>
        ...
        <configuration>
          <saveExecutionData>true</saveExecutionData>
        </configuration>
        ...   
</plugin>

skippy.exec

Skippy will automatically generate a JaCoCo execution data file named skippy.exec if the feature is enabled and there is at least a single skipped test. This file is placed within the build directory, typically found under build/ for Gradle projects or target/ for Maven projects.

skippy.exec aggregates the execution data for all skipped tests. It can be merged with JaCoCo's standard execution data file to generate a combined report that contains coverage for executed and skipped tests:

Resolved Issues

  • #143: Skipped tests should contribute to code coverage reports

v0.0.17

05 Mar 23:31

Choose a tag to compare

Highlights

This release adds support for incremental updates of the Skippy folder for Gradle-based builds in cases where the build fails due to a failing test case.

Old behavior:

./gradlew test

FooTest > testFoo() PASSED   ─┐
BarTest > testBar() FAILED    │
                              │ a tests that previously passed
./gradlew test                │ is executed again in a subsequent build
                              │
FooTest > testFoo() PASSED   ←┘  
BarTest > testBar() FAILED   

New behavior:

./gradlew test

FooTest > testFoo() PASSED   ─┐
BarTest > testBar() FAILED    │
                              │ a tests that previously passed
./gradlew test                │ is skipped in a subsequent build
                              │
FooTest > testFoo() SKIPPED  ←┘  
BarTest > testBar() FAILED  

Resolved Issues

  • #141: Support incremental updates for builds with failing tests

v0.0.16

23 Feb 13:23

Choose a tag to compare

Highlights

This release gets rid of the term "skippified":

  • Renaming of io.skippy.junit5.Skippified to io.skippy.junit5.PredictWithSkippy
  • Renaming of io.skippy.junit4.Skippy.skippified() to io.skippy.junit4.Skippy.predictWithSkippy()

Resolved Issues

  • #139: Rename @Skippified to @PredictWithSkippy