Skip to content

Latest commit

 

History

History
122 lines (97 loc) · 4.5 KB

File metadata and controls

122 lines (97 loc) · 4.5 KB

4.1.2

  • Do not copy logger in copyForExactRebuild

4.1.1

  • Move cleanCreatedTransferFilesCache method to correct place

4.1.0

  • New method copyForExactRebuild

4.0.0

  • Add NativeAdvancedImageFromDockerfile
    • Builds the image using a new docker build process
    • Runs isolated of Testcontainers / does not directly utilize Docker API
    • Comparison to AdvancedImageFromDockerFile
      • Advantages
        • Full buildx/buildkit support
        • Caching can easily be implemented (using --cache-to and --cache-from)
      • Disadvantages
        • buildx/buildkit is required locally
        • Authentication (if required) needs to be done manually
        • External process might not be fully controllable e.g. on JVM crash
        • No (type-safe) API
  • Abstracted common code of NativeAdvancedImageFromDockerfile and AdvancedImageFromDockerfile
  • Minor performance improvements

3.0.1

  • Add overload for copyForIntermediateTag

3.0.0

  • Added support to build intermediate named images (after the actual images was built)
    • This is highly useful if you want to cache certain images in a CI environment that ignores dangling images instead
  • All file transfer logic was moved to FilesToTransferHandler
  • Updated dependencies

2.5.0

  • Renamed FastFilePathUtil -> FastFilePathRelativzer
  • Updated dependencies

2.4.1

  • Updated dependencies

2.4.0

  • Update to Testcontainers v2

2.3.0

  • Use Virtual Threads on Java 21+
  • Minor optimizations
  • Updated dependencies

2.2.1

  • Windows NTFS junction fix
    • Automatically disable it on Java 26+ as JDK-8364277 is fixed there
    • Backport changes from Java 25 to ensure compatibility and get performance improvements (JEP 486)
  • Updated dependencies

2.2.0

  • Added an explicit option for enabling the Windows NTFS junction fix: useWinNTFSJunctionFixIfApplicable #155
    • Enabling it also requires adding --add-exports java.base/sun.nio.fs=ALL-UNNAMED or performance will be impacted by ~20x due to non-accessible file attributes cache
    • This option is temporary and will be removed once the underlying JDK bug was fixed
  • The default logger of AdvancedImageFromDockerFile now also includes dockerImageName to make it easier to distinguish between parallel builds

2.1.1

  • Addresses a JDK bug which results in a crash or "infinite" loop when encountering recursive NTFS junctions on Windows #155

2.1.0

  • Add customizer for TransferArchiveTARCompressor
  • Create more predefined FileContentModifiers
    • This allows to e.g. remove not needed Maven modules when building

2.0.2

  • Don't try to pull reserved scratch image during build

2.0.1

  • Improve matching in DockerfileCOPYParentsEmulator #134
    • Now should properly handle ./

2.0.0

  • Changed ignore backend to utilize JGit
    • This should now behave exactly like a .gitignore
    • Overall performance should be a lot faster
  • Make it possible to modify transferred files
  • Provide an option to emulate COPY --parents using DockerfileCOPYParentsEmulator (which is currently not supported by Docker out of the box)
    • This option is required to utilize Docker's cache properly
    # syntax=docker/dockerfile:1-labs
    # ...
    
    # Copy & Cache wrapper
    COPY --parents mvnw .mvn/** ./
    RUN ./mvnw --version
    
    # Copy & Cache poms/dependencies
    COPY --parents **/pom.xml ./
    # Resolve jars so that they can be cached and don't need to be downloaded when a Java file changes
    RUN ./mvnw -B dependency:go-offline -pl app -am -DincludeScope=runtime -T2C
    
    # Copying all other files
    COPY . ./
    # Run the actual build
    RUN ./mvnw -B clean package -pl app -am -T2C -Dmaven.test.skip
    
  • At ton of minor optimizations and improvements

1.2.0

  • Provide an option to always transfer specific paths
  • Always transfer Dockerfile - as it is required for building - by default

1.1.1

  • Migrated deployment to Sonatype Maven Central Portal #155

1.1.0

  • Remove testcontainer's dependency onto JUnit 4
  • Updated dependencies

1.0.2

  • Do not pull images that are declared inside the Dockerfile (Multi-Stage build)

1.0.1

  • Minor improvements in cleanup behavior (backported from upstream)

1.0.0

Initial release