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

Erik C. Thauvin

@ethauvin
About
Posts
24
Topics
5
Shares
0
Groups
1
Followers
1
Following
1

Posts

Recent Best Controversial

  • My Intro
    ethauvinE ethauvin

    I've started programming on a Tandy III when I was 9 years old and haven't stopped since then.

    I was born and raised in France, but moved to the US when I was offered a job at Apple in my late teens.

    After Apple, I started and sold a few companies and did a lot of consulting.

    You probably know me as the author of one of the first daily linkblog, mostly focused on Java, which I ran for 7 years in the early 2000s. Or maybe as the author of a weekly column published in the Java Developer's Journal around the same time frame.

    In recent years, I've been doing a lot of Kotlin, but Geert got me back into the Java fold, and I've been helping with both bld and RIFE2.

    General Discussion

  • Extensions
    ethauvinE ethauvin

    Use this topic to discuss bld extensions.

    Our current official extensions are:

    • bld ANTLR4 extension
    • bld Archive extension
    • bld Generated Version extension
    • bld JaCoCo Report extension
    • bld PMD extension
    • bld Property File extension
    • bld TestNG extension
    • bld Tests Badge extension
    Bld

  • Extensions
    ethauvinE ethauvin

    There are a couple new extensions in testing right now:

    • bld Checkstyle extension
    • bld Command Line Execution extension
    Bld

  • Josh's intro
    ethauvinE ethauvin

    That's bld, Josh. Cheers! :spock-hand:

    General Discussion

  • 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

  • bld Tips & Tricks
    ethauvinE ethauvin

    You can use this code in your build file to generate the project's pom in the project's root directory:

    @BuildCommand(value = "pom-root", summary = "Generates the POM file in the root directory")
    public void pomRoot() throws FileUtilsErrorException {
        PomBuilder.generateInto(publishOperation().fromProject(this).info(), dependencies(),
            new File(workDirectory, "pom.xml"));
    }
    

    Putting the pom in the root directory can help with tools like Snyk, SonarCloud, etc. as they will treat your project as a Maven project.

    Bld tips tricks

  • bld advocacy ideas
    ethauvinE ethauvin

    I think people have a hard time picturing how easy bld is to use, just by looking at the description, etc. Not until you actually try it will you realize that you can get project compiling and running in just a few minutes.

    Bld

  • bld advocacy ideas
    ethauvinE ethauvin

    @gbevin said in bld advocacy ideas:

    @ethauvin maybe a short video as an animated gif that can play directly on the website?

    That's an idea. Will be catchy too.

    Bld

  • Extensions
    ethauvinE ethauvin

    And yet another one in testing

    • bld PIT Mutation Testing extension
    Bld

  • Extensions
    ethauvinE ethauvin

    @gbevin said in Extensions:

    @ethauvin love seeing how straightforward it seems to make these!

    Yeah, and I'm starting to think the command line approach is the better one. No dependencies, not locked to a specific version, etc.

    Bld

  • 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

    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

  • 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
  • Login

  • Don't have an account? Register

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