Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
Collapse
Uwyn Logo

Global Moderators

Forum wide moderators

Private

Posts


  • Extensions
    ethauvinE ethauvin

    All the extensions have been updated for bld 2.1:

    • bld ANTLR4 extension
    • bld Archive extension
    • bld Checkstyle extension
    • bld Command Line Execution extension
    • bld Generated Version extension
    • bld JaCoCo Report extension
    • bld Kotlin extension
      • bld Detekt extension
      • bld Dokka extension
    • bld PIT Mutation Testing extension
    • bld PMD extension
    • bld Property File extension
    • bld Spring Boot extension
    • bld TestNG extension
    • bld Tests Badge extension
    Bld

  • bld v2.1 released!
    ethauvinE ethauvin

    All the extensions have also been updated:

    • bld ANTLR4 extension
    • bld Archive extension
    • bld Checkstyle extension
    • bld Command Line Execution extension
    • bld Generated Version extension
    • bld JaCoCo Report extension
    • bld Kotlin extension
      • bld Detekt extension
      • bld Dokka extension
    • bld PIT Mutation Testing extension
    • bld PMD extension
    • bld Property File extension
    • bld Spring Boot extension
    • bld TestNG extension
    • bld Tests Badge extension
    Bld

  • bld v2.0 released!
    ethauvinE ethauvin

    All the extensions have also been updated:

    • ANTLR4 extension
    • Archive extension
    • Checkstyle extension
    • Command Line Execution extension
    • Generated Version extension
    • JaCoCo Report extension
    • PIT Mutation Testing extension
    • PMD extension
    • Property File extension
    • Spring Boot extension
    • TestNG extension
    • Tests Badge extension

    The Kotlin extension has been completely reworked. It now compiles using a local installation of the Kotlin compiler, making it possible to test with multiple versions of Kotlin. Dokka now has its own extension. There's also a Kotlin project template on GitHub with support for the Dokka and Detekt extensions.

    Bld

  • bld v1.9.0 released!
    ethauvinE ethauvin

    We just released bld 1.9.0, the pure Java build tool for developers who don't like dealing with build tools:

    • Improvements and clarifications to bld create commands
    • Improvements to Visual Studio Code templates
    • Updated dependency versions in project templates

    The following extensions have also been updated:

    • bld Checkstyle extension
    • bld Command Line Execution extension
    • bld Detekt extension
    • bld Generated Version extension
    • bld JaCoCo Report extension
    • bld Kotlin extension
    • bld PIT Mutation Testing extension
    • bld PMD extension
    • bld Property File extension
    • bld Spring Boot extension
    • bld TestNG extension

    Getting started has never been easier, either manually or using SDKMAN!, Homebrew or JBang :

    • bash -c "$(curl -fsSL https://rife2.com/bld/create.sh)"
    • sdk install bld
    • brew install rife2/tools/bld
    • jbang com.uwyn.rife2:bld:1.9.0
    Bld

  • Extensions
    ethauvinE ethauvin

    If you're using bld with Spring Boot you might like the following:

    • bld Spring Boot Extension
    • Spring Boot Example Project for bld
    Bld

  • Extensions
    ethauvinE ethauvin

    bld now supports Kotlin via a couple new extensions:

    • bld Kotlin Extension
    • bld Detekt Extension
    Bld

  • RIFE2 Tips & Tricks
    ethauvinE ethauvin

    When converting an existing website, you will most likely want to redirect old URLs to the new ones. RIFE2 makes it pretty simple. For example, to redirect:

    https://example.com/news/2023/09/11

    to

    https://example.com/search?year=2023&month=09&day=11

    You can easily convert the path info into parameters, by doing something like:

    public class ExampleSite extends Site {
        //...
        private void redirectMoved(Context c, String url) {
            c.setStatus(301);
            c.addHeader("Location", url);
        }
    
        private void setRedirects() {
            //.. 
            get("/news", PathInfoHandling.MAP(
                            m -> m.p("year"),
                            m -> m.p("year").s().p("month"),
                            m -> m.p("year").s().p("month").s().p("day")),
                    c -> redirectMoved(c, c.urlFor(searchUrl).params(c.parameters()).toString()));
        }
    
        @Override
        public void setup() {
            //..
            setRedirects();
        }
    }
    RIFE2 tips tricks

  • Extensions
    ethauvinE ethauvin

    @gbevin said in Extensions:

    @ethauvin maybe extensions can declare which dependencies they rely upon, without setting a specific version number. When bld encounters that, it warns the developer that those dependencies are needed and that versions can be configured in a properties file? After that, it will just download those dependencies automatically without relying on a specific version from the extension.

    That's a great idea. Like it a lot.

    Bld

  • Extensions
    ethauvinE ethauvin

    @gbevin said in Extensions:

    @ethauvin I think that a big appeal of Gradle and Maven is everything required to run all the project tasks is done automatically, this significantly reduces the efforts when working with a team or onboarding new developers. It also ensures that there are common versions across all the team members to ensure consistent and coherent behavior. Having a lot of extensions require manual installation of what's required to run them, defeats much of what makes them useful imho. Even if you rely on the command line API, I would still declare the required dependencies in the compile scope.

    I actually think that is one of the worst thing about Grade or Maven, having to deal with plugins that use antiquated libraries. It's a never ending battle, plugins depends on specific versions and all have to mach. Gradle build files are littered with dependency exclusion on most large projects. It's a nightmare to manage.

    How would you feel if you couldn't specify which version of JUnit 5 or TestNG to use? Both Gradle and Maven requires you to do so. They are plugins that are used in the test scope, and like most of them do, they required some dependencies.

    Bld

  • Extensions
    ethauvinE ethauvin

    @gbevin said in Extensions:

    @ethauvin do we want to not have any dependencies? It seems that when people install an extension, they'd want it to just be ready to go and pull down everything required to work.

    I think most people want to use the version of the tool that works for their needs, not the version that we provide, and that we keep on having to update when new versions are out.

    This is no different that people having to install the JUnit or TestNG dependencies for their project.

    Bld

Member List

ethauvinE ethauvin
  • Login

  • Don't have an account? Register

  • Login or register to search.
  • First post
    Last post
0
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups