konsoletyper / teavm

Compiles Java bytecode to JavaScript, WebAssembly and C
https://teavm.org
Apache License 2.0
2.56k stars 262 forks source link

Increased release cadence #359

Open StarFi55ure opened 5 years ago

StarFi55ure commented 5 years ago

I see there's lots of work happening in master. Is it possible to release versions more regularly? The last few releases were in 2017. And 2015 before that.

konsoletyper commented 5 years ago

What is 'release'? How it is different from binaries on bintray? Why do you need 'releases'? What are their advantages over dev binaries?

StarFi55ure commented 5 years ago

What I mean is versioned binaries. Like 0.6.0, 0.6.1, 0.6.2... etc. While it is possible to use dev binaries, some people prefer developing against 'official' releases, rather than a rolling dev version like SNAPSHOT, which could potentially have bugs in it.

Also, new people trying the project out will probably just use the latest release version, which at this point seems old.

ScraM-Team commented 5 years ago

Some organizations only allow binaries from the main maven repo for various reasons. I agree with @jupake that at least one new release with the changes from the past year would help increase commercial adoption.

StarFi55ure commented 5 years ago

What is the process currently for making a release? Maybe some of us can help out.

konsoletyper commented 5 years ago

@jupake do you mean physical process, i.e. what buttons do I press to perform release, or a decision making? In the first case, there's instruction somewhere how to publish on Maven Central (it can't be fully automatic). In the second case, there's no process. Currently, I can't create Maven Central release due to several bugs, which I don't have time to fix. Also, right now I'm trying to port 0.5 MLOC application from GWT to TeaVM, and sometimes I encounter bugs, performance and usability issues and so forth. I would like to publish more polished release, when I'll be close to production.

StarFi55ure commented 5 years ago

For the decision making, maybe a basic roadmap of expected and/or desired features can help coordinate things. And also communicate with people what's coming up in the future. Or whats outstanding to make a release. Given that there isnt a 1.0 release yet, I think at least a few upcoming releases that include recent fixes should be in order, even if there are still outstanding bugs. If we can see what bugs are easy enough to tackle, then people can jump in. Given the complexity of the project, it will probably be a while before anyone can help you on the core stuff. But other project related stuff are easier to help with.

As for Maven Central. As I understand the process, all the account settings and signing keys are probably your personal keys. So currently can only be done by you. I could be misunderstanding the publish process.

Interestingly, I think one of the things that prevented GWT from growing more was that releases took forever, making people outside google think the project was dead.

ScraM-Team commented 5 years ago

@konsoletyper, I think we would all be interested in what you have learned porting a big application to TeaVM. When time permits, let us know how it is going.