#Streamline — Simple Build Tool

1 messages · Page 1 of 1 (latest)

spice breach
glass tendonBOT
#

<@&987246883653156906> please have a look, thanks.

spice breach
#

bumpy

vestal quest
#

You may or may not be interested in what I recently wrote on the subject

spice breach
#

Glad it got a discussion going

vestal quest
#

you did? when?

#

oh yeah okay

#

i was responding to yours

#

but yeah my general complaint with your thing is that it really doesn't solve the gap between what the CLI tools provide and what is available to do in build tools

#

like - one gripe with maven and gradle is that it is unnatural and error prone to integrate jlink and jpackage

#

my issue isn't so much that you haven't done so, its more that in your design you need to do it

#

some new feature gets added to jlink - say to make truly static single file exes (which is coming I think) - and there is a time gap between when that functionality is available in the JDK and when you have decided how to wrap it up

#

like you are using the module layout, but the things you specify in the config file are biased towards a single output

#

i.e. just one mainModule which goes as metadata into one archive

#

like - its fine in the sense that there is nothing wrong with an opionated tool

#

if thats how your projects look gucci

#

but it doesn't address any of what I think are the blockers for wider adoption of CLI / non-build-tool (or even just non-maven / non-gradle) things

#

also - to highlight how I expect a hypothetical jproject.toml to work: (since I don't cover it too much in the post)

[project]
defaultUsage="--module-path"

[[project.dependencies]]
coordinate="pkg:maven/com.fasterxml.jackson.core/[email protected]"

[[project.dependencies]]
coordinate="pkg:maven/commons-io/[email protected]"

[tool.streamline]
name = "My Project"
mainClass = "Main"

[tool.streamline.build]
srcDir = "src"
outDir = "build"

[tool.streamline.archive]
jarName = "app"

[tool.streamline.modules]
moduleSrc="src"
mainModule="client"
modulePath= ["build", "@dependencySets/default"]

Notice how, sans prefixing, your approach is compatible?

spice breach
#

Honestly, I'm really just a Java newbie with a fondness for the lower level stuff that seems unused, and I barely understand it. I'm not that great at Maven or Gradle so if anyone's going to have the answers to these problems, it's not me. I just wanted to make something simple for basic Java usage from the CLI. I really don't know what design problems I'm going to face because I'm a student with like 2 years experience lol.

#

So I appreciate you taking the time to address this

vestal quest
spice breach
#

Right.

#

It's just hard to wrap my head around

vestal quest
#

its not beyond your understanding - just trying to get you where my head's at

#

also i guarentee you currently understand it (the lower level stuff that seems unused) more than 99% of folks

spice breach
#

Alright. Appreciate it. I'll definitely spend some time reading what you've said and your post.