Hi

this morning in the slack Apache Royale official channel Chris Dutz asked
about plans for release 0.9.7. If you see Greg and I help him to create an
Apache Royale interface for pulling data from a Consumer in an IoT Apache
PLC4X app. Something very cool :). He published a tweet with a video
showing it.

So regarding the release, I explain that I spent many days some months ago
trying to fix the CI release steps to release, but I was unable to do it. I
think making changes to the Maven o Ant make the 13 steps very fragile and
difficult to fix. And we need to evolve continually Maven and Ant, so that
means a huge task that will require an huge amount of time that almost
nobody here has. So I must say that although the work done on that front
was amazing and huge maybe we need to streamline it to an standard. I know
is difficult, but although we had many expectations put on the 13 step
release process, after try it seems that we finally are not getting what we
wanted, that is streamline the release process.

This is one of the critical points that hold us to release 1.0, since not
having an easy way to release means as we push 1.0 and people tries us,
we'll need to be faster on releasing, and we can't wait 6 month or a year,
since that we'll mean user will not want that kind of release cycle.

So here is my proposal to work on a release process that allow us to
release more often and more easily. Hope you all can consider it:

First: We all know we want build with ANT and MAVEN. And when I refer to
"all" I really mean "all". Although I'm a Maven advocate, I really
appreciate the point to have ANT on place so having 2 build systems that
completely works mean advantage. In fact although I use maven I build with
both system daily.

Second: Build does not mean Release. I think other times we discussed
Release as a way to impose Maven over Ant. Or maybe that was the perception
for others, but not my intention (and maybe not the intention of others).
But that's not the objective. Release [1] means to us just "publication
outside the development community, defined as individuals actively
participating in development or following the dev list."

That means that we don't need to release using Maven and Ant at the same
time, we can streamline greatly the process to just releasing with Maven so
we can ensure a simple process the same as any other Apache project.

It means that people trying the release need to check it with Maven, but
community users can continue using ANT or Maven to build or even just
download the SDK and use it on his IDE of choice and don't use ANT or Maven
at all.

Third: The fact is the rest of projects I know all use releases and CI
based on Maven, and that should point us that maybe we're trying to
force something that is not standard in our industry, so if we want to make
it more reliable and easy process, is normal to embrace how others are
doing, since that does not mean we're throwing away a build system, since
per previous point we don't want to remove ANT.

Finally, Chris and I offer our time to make the easiest release process we can
that let all of us release easily and often (maybe each 1-2 month?)

Thanks


[1] http://www.apache.org/legal/release-policy.html#release-definition
-- 
Carlos Rovira
http://about.me/carlosrovira

Reply via email to