https://github.com/Carter907/streamline
Hey, spent some time on this project, and I want to know what you guys think of the idea and repository. Is there anything I can work on to make it more presentable and robust? Looking for any feedback, even if it's low effort. Thanks!
#Streamline — Simple Build Tool
1 messages · Page 1 of 1 (latest)
<@&987246883653156906> please have a look, thanks.
bumpy
That's hilarious I posted that on reddit
Glad it got a discussion going
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?
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
i mean, this is the facing of the design problems
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
Alright. Appreciate it. I'll definitely spend some time reading what you've said and your post.