Hi all, +1 for Sagara's proposal. These projects have a life outside the Carbon Platform. But, we need to find a place to host them. If everything ends up on GitHub should these be in their too? If so, are they a WSO2 repository? Or is it a separate TLP?
Thanks, Senaka. On Tue, Jan 21, 2014 at 9:11 PM, Sagara Gunathunga <[email protected]> wrote: > > > > On Tue, Jan 21, 2014 at 3:34 PM, Sriskandarajah Suhothayan > <[email protected]>wrote: > >> How about WSO2 Commons projects, E.g Siddhi ? >> >> Currently its in commons and under dependencies/commons >> >> Where should we have this? >> >> I believe projects like Siddhi also need to be top level repos may be >> "commons-siddhi" and it don't need be in dependencies/commons anymore. >> >> WDYT? >> > > Ideally these projects should be treated as external dependencies to > Carbon code base just like Apache XMLSchema or Axiom only difference here > is those project are managed by WSO2. We should create separate repos for > each of them and Carbon should only take them as Maven dependencies only. > For naming I guess "Siddhi" is a good name because "commons" part does not > make any meaning here. > > in my POV these should be the project we need to move out of Carbon code > base. > > > Jaggery ( we just need to get rid of SVN externals as code base it already > on GitHub) > Caramel > Charon > Balana > Siddhi > > Thanks ! > > > > >> >> Suho >> >> >> On Tue, Jan 21, 2014 at 3:13 PM, Eranda Sooriyabandara >> <[email protected]>wrote: >> >>> Hi All >>> Please find the updated governance component in [1]. >>> >>> thanks >>> Eranda >>> >>> [1]. https://github.com/wso2/carbon-governance >>> >>> >>> On Tue, Jan 21, 2014 at 2:56 PM, Shariq Muhammed <[email protected]>wrote: >>> >>>> On Tue, Jan 21, 2014 at 2:42 PM, Eranda Sooriyabandara <[email protected] >>>> > wrote: >>>> >>>>> Hi Shariq, >>>>> Yeah, we may not needed those to be build again and again. So let's >>>>> add related stubs to service-stubs directory in each repo. >>>>> >>>> >>>> Yea lets structure it that way. >>>> >>>> >>>>> >>>>> thanks >>>>> Eranda >>>>> >>>>> >>>>> On Tue, Jan 21, 2014 at 12:51 PM, Shariq Muhammed <[email protected]>wrote: >>>>> >>>>>> On Tue, Jan 21, 2014 at 12:38 PM, Kishanthan Thangarajah < >>>>>> [email protected]> wrote: >>>>>> >>>>>>> Yes, we don't need to separately say "service-stubs", it should be >>>>>>> under the components level as just another component. >>>>>>> >>>>>> >>>>>> Initially we extracted out the service stubs because it doesn't >>>>>> change frequently. So we can reduce the build time because we don't need >>>>>> to >>>>>> do wsdl2java in each build cycle. Looks like we are going to add it back? >>>>>> >>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> On Tue, Jan 21, 2014 at 12:30 PM, Eranda Sooriyabandara < >>>>>>> [email protected]> wrote: >>>>>>> >>>>>>>> Hi Kicha, >>>>>>>> There will be no service stubs directory it will be a additional >>>>>>>> component in the same level as BE + FE components. >>>>>>>> >>>>>>>> thanks >>>>>>>> Eranda >>>>>>>> >>>>>>>> >>>>>>>> On Tue, Jan 21, 2014 at 11:41 AM, Kishanthan Thangarajah < >>>>>>>> [email protected]> wrote: >>>>>>>> >>>>>>>>> Hi Eranda, >>>>>>>>> >>>>>>>>> Where have you put the service-stubs related to governance >>>>>>>>> component? It should come under the same repo as carbon-component- >>>>>>>>> governance. >>>>>>>>> >>>>>>>>> >>>>>>>>> On Tue, Jan 21, 2014 at 12:29 AM, Eranda Sooriyabandara < >>>>>>>>> [email protected]> wrote: >>>>>>>>> >>>>>>>>>> Hi All, >>>>>>>>>> As a PoC I just completed the carbon-component-governance. >>>>>>>>>> Please find it in [1] and let me know your comments and suggestions. >>>>>>>>>> Please >>>>>>>>>> keep in mind that this is not in a buildable state since other >>>>>>>>>> components need to build before this. >>>>>>>>>> >>>>>>>>>> thanks >>>>>>>>>> Eranda >>>>>>>>>> >>>>>>>>>> [1] https://github.com/wso2/carbon-component-governance >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> On Fri, Jan 17, 2014 at 9:26 PM, Afkham Azeez <[email protected]>wrote: >>>>>>>>>> >>>>>>>>>>> [Sorry for the very long mail. I want to document all that I >>>>>>>>>>> had in mind & the stuff we discussed. I would recommend all devsto >>>>>>>>>>> take some time to read this] >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> I would like to summarize he discussion we had a couple of days >>>>>>>>>>> back. >>>>>>>>>>> >>>>>>>>>>> *The Problems* >>>>>>>>>>> The problems we are trying to solve are as follows: >>>>>>>>>>> >>>>>>>>>>> 1. Trunk & branches structures being completely different >>>>>>>>>>> 2. Branches containing directories with version numbers >>>>>>>>>>> 3. It is impossible to move to GitHub with the current structure >>>>>>>>>>> because of #2 >>>>>>>>>>> 4. It is very easy to break the build by changing already >>>>>>>>>>> released code. The room for human error is high. >>>>>>>>>>> 5. Bamboo builds are eternally broken because the build fails at >>>>>>>>>>> some point & Bamboo cannot continue any further >>>>>>>>>>> 6. When we branch, the trunk quickly becomes obsolete, and >>>>>>>>>>> remains in that broken state until the next major platform release. >>>>>>>>>>> 7. Everybody has to build all components/features, even if those >>>>>>>>>>> are not related to their products >>>>>>>>>>> 8. Fixed versions in branches instead of using SNAPSHOT >>>>>>>>>>> versions. This makes it impossible to upload build artifacts to >>>>>>>>>>> Maven/Nexus >>>>>>>>>>> repos. This leads to #7. >>>>>>>>>>> 9. Impossible to integrate code quality tools such as EraInsight >>>>>>>>>>> because of #5 >>>>>>>>>>> >>>>>>>>>>> *Proposed solution* >>>>>>>>>>> We have come up with the following solution after much >>>>>>>>>>> deliberation & thought. >>>>>>>>>>> >>>>>>>>>>> Rationale: >>>>>>>>>>> We started looking at other open source projects out there. We >>>>>>>>>>> took Axis2 as an example. Axis2 had many dependencies >>>>>>>>>>> includingAxiom, >>>>>>>>>>> XmlSchema, Woden, WSS4J etc. Those 3rd party dependencies were >>>>>>>>>>> also developed by some Axis2 contributors, but we never branched >>>>>>>>>>> all of >>>>>>>>>>> those together and brought them into the same code branch. We used >>>>>>>>>>> to start >>>>>>>>>>> what we used to call a release train, where the upstream code would >>>>>>>>>>> have to >>>>>>>>>>> be released first before the downstream code such as Axis2 & >>>>>>>>>>> Synapse could >>>>>>>>>>> be released. This way, we never had any of the problems outlined >>>>>>>>>>> above. >>>>>>>>>>> >>>>>>>>>>> If you look at the WSO2 product releases, again, the scenario is >>>>>>>>>>> not that much different from the Axis2/Synapse releases. Components >>>>>>>>>>> & >>>>>>>>>>> features are simply dependencies of the products. In order to get >>>>>>>>>>> product >>>>>>>>>>> releases out, we first need releases of those >>>>>>>>>>> dependencies (components/features). So the proposal is to identify >>>>>>>>>>> the top >>>>>>>>>>> level components/features, and first release that code before doing >>>>>>>>>>> product >>>>>>>>>>> releases. Each of those components will have a GitHub repo. All >>>>>>>>>>> active development will be done on the main branch of those >>>>>>>>>>> components, and >>>>>>>>>>> will be branched when they are close to the release. Instead of >>>>>>>>>>> granting >>>>>>>>>>> commit rights to all, we could only allow the primary developersof >>>>>>>>>>> those components to commit, and others can send pull requests, which >>>>>>>>>>> will be merged in by the primary owners after reviewing. These >>>>>>>>>>> component >>>>>>>>>>> teams could even have an internal Git repo or clone, and commit >>>>>>>>>>> to that, run all tests, and when they are satisfied that the code >>>>>>>>>>> is in a >>>>>>>>>>> good state to be merged into the main branch, they can send a pull >>>>>>>>>>> request >>>>>>>>>>> & merge the changes. We would run Bamboo which would build the >>>>>>>>>>> components >>>>>>>>>>> several times a day & deploy them to the Nexus repo. That way, >>>>>>>>>>> you would not have to build code that is not directly related to >>>>>>>>>>> what you >>>>>>>>>>> are working on, which would save 100s of valuable dev hours. >>>>>>>>>>> >>>>>>>>>>> In the majority of the cases, the P2 features correspond to one >>>>>>>>>>> or more related components. So we would keep the feature close to >>>>>>>>>>> the >>>>>>>>>>> component. There are some cases where these components & features >>>>>>>>>>> belong >>>>>>>>>>> in the product itself. AppFactory components are a good >>>>>>>>>>> example. >>>>>>>>>>> >>>>>>>>>>> Products will also have their own GitHub repos. We will have >>>>>>>>>>> separate GitHub repos for platform integration tests. Products >>>>>>>>>>> such as API Manager may opt to have the API Management feature >>>>>>>>>>> in the product itself. We would have a separate P2-repo GitHub repo >>>>>>>>>>> which would build & deploy the compatible set of P2 features. >>>>>>>>>>> >>>>>>>>>>> We will have Bamboo plans at multiple levels; components, >>>>>>>>>>> products, platform, p2-repo and so on. >>>>>>>>>>> >>>>>>>>>>> We will not change any package structures at this time. We would >>>>>>>>>>> defer that to Carbon 5 (if necessary). We will get rid of the chunk >>>>>>>>>>> based >>>>>>>>>>> release model. Continuous delivery is our ultimate aim & for that to >>>>>>>>>>> happen, we have to release a compatible set of features. We are >>>>>>>>>>> going to >>>>>>>>>>> rely heavily on automation, automated builds & deploys to Maven. The >>>>>>>>>>> developers will do the majority of the QA (just like the Apache >>>>>>>>>>> Stratos >>>>>>>>>>> team is doing now). >>>>>>>>>>> >>>>>>>>>>> We will use the Maven release plugin to create releases & upload >>>>>>>>>>> them to the Maven repo. >>>>>>>>>>> >>>>>>>>>>> *Implications to WSO2 code developers* >>>>>>>>>>> 1. Life becomes easier because you don't have to spend a lot of >>>>>>>>>>> time building unrelated stuff >>>>>>>>>>> 2. General development would happen in the main branch. >>>>>>>>>>> 3. Close to a release, branches would be cut. >>>>>>>>>>> 4. Once release branches are cut, fixes would be done in the >>>>>>>>>>> main branch, and pull requests would be sent to the branch & merged >>>>>>>>>>> in. >>>>>>>>>>> This will be easy because we no longer have the trunk & branch >>>>>>>>>>> structure >>>>>>>>>>> being different. >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> *Implications to users* >>>>>>>>>>> Users will not see any difference in the components & features >>>>>>>>>>> because we are not changing packages or binary structure. In fact, >>>>>>>>>>> we would >>>>>>>>>>> have a P2 repo with compatible features which all work together. >>>>>>>>>>> >>>>>>>>>>> Senaka, Isuruwan & Harshana have already started working on a >>>>>>>>>>> PoC. >>>>>>>>>>> >>>>>>>>>>> Thoughts welcome. Those who were in these discussions, please >>>>>>>>>>> add anything I may have missed. >>>>>>>>>>> >>>>>>>>>>> -- >>>>>>>>>>> *Afkham Azeez* >>>>>>>>>>> Director of Architecture; WSO2, Inc.; http://wso2.com >>>>>>>>>>> Member; Apache Software Foundation; http://www.apache.org/ >>>>>>>>>>> * <http://www.apache.org/>* >>>>>>>>>>> *email: **[email protected]* <[email protected]> >>>>>>>>>>> * cell: +94 77 3320919 <%2B94%2077%203320919> blog: * >>>>>>>>>>> *http://blog.afkham.org* <http://blog.afkham.org> >>>>>>>>>>> * twitter: >>>>>>>>>>> **http://twitter.com/afkham_azeez*<http://twitter.com/afkham_azeez> >>>>>>>>>>> * linked-in: **http://lk.linkedin.com/in/afkhamazeez >>>>>>>>>>> <http://lk.linkedin.com/in/afkhamazeez>* >>>>>>>>>>> >>>>>>>>>>> *Lean . Enterprise . Middleware* >>>>>>>>>>> >>>>>>>>>>> _______________________________________________ >>>>>>>>>>> Architecture mailing list >>>>>>>>>>> [email protected] >>>>>>>>>>> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> -- >>>>>>>>>> >>>>>>>>>> *Eranda Sooriyabandara*Senior Software Engineer; >>>>>>>>>> Integration Technologies Team; >>>>>>>>>> WSO2 Inc.; http://wso2.com >>>>>>>>>> Lean . Enterprise . Middleware >>>>>>>>>> >>>>>>>>>> E-mail: eranda AT wso2.com >>>>>>>>>> Mobile: +94 716 472 816 >>>>>>>>>> Linked-In: http://www.linkedin.com/in/erandasooriyabandara >>>>>>>>>> Blog: http://emsooriyabandara.blogspot.com/ >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> _______________________________________________ >>>>>>>>>> Architecture mailing list >>>>>>>>>> [email protected] >>>>>>>>>> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture >>>>>>>>>> >>>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> -- >>>>>>>>> *Kishanthan Thangarajah* >>>>>>>>> Senior Software Engineer, >>>>>>>>> Platform Technologies Team, >>>>>>>>> WSO2, Inc. >>>>>>>>> lean.enterprise.middleware >>>>>>>>> >>>>>>>>> Mobile - +94773426635 >>>>>>>>> Blog - *http://kishanthan.wordpress.com >>>>>>>>> <http://kishanthan.wordpress.com>* >>>>>>>>> Twitter - *http://twitter.com/kishanthan >>>>>>>>> <http://twitter.com/kishanthan>* >>>>>>>>> >>>>>>>>> _______________________________________________ >>>>>>>>> Dev mailing list >>>>>>>>> [email protected] >>>>>>>>> http://wso2.org/cgi-bin/mailman/listinfo/dev >>>>>>>>> >>>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> -- >>>>>>>> >>>>>>>> *Eranda Sooriyabandara*Senior Software Engineer; >>>>>>>> Integration Technologies Team; >>>>>>>> WSO2 Inc.; http://wso2.com >>>>>>>> Lean . Enterprise . Middleware >>>>>>>> >>>>>>>> E-mail: eranda AT wso2.com >>>>>>>> Mobile: +94 716 472 816 >>>>>>>> Linked-In: http://www.linkedin.com/in/erandasooriyabandara >>>>>>>> Blog: http://emsooriyabandara.blogspot.com/ >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>> >>>>>>> >>>>>>> -- >>>>>>> *Kishanthan Thangarajah* >>>>>>> Senior Software Engineer, >>>>>>> Platform Technologies Team, >>>>>>> WSO2, Inc. >>>>>>> lean.enterprise.middleware >>>>>>> >>>>>>> Mobile - +94773426635 >>>>>>> Blog - *http://kishanthan.wordpress.com >>>>>>> <http://kishanthan.wordpress.com>* >>>>>>> Twitter - *http://twitter.com/kishanthan >>>>>>> <http://twitter.com/kishanthan>* >>>>>>> >>>>>>> _______________________________________________ >>>>>>> Architecture mailing list >>>>>>> [email protected] >>>>>>> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture >>>>>>> >>>>>>> >>>>>> >>>>>> >>>>>> -- >>>>>> Thanks, >>>>>> M. S. M. Shariq. >>>>>> Senior Software Engineer >>>>>> Phone: +94 777 202 225 >>>>>> >>>>> >>>>> >>>>> >>>>> -- >>>>> >>>>> *Eranda Sooriyabandara*Senior Software Engineer; >>>>> Integration Technologies Team; >>>>> WSO2 Inc.; http://wso2.com >>>>> Lean . Enterprise . Middleware >>>>> >>>>> E-mail: eranda AT wso2.com >>>>> Mobile: +94 716 472 816 >>>>> Linked-In: http://www.linkedin.com/in/erandasooriyabandara >>>>> Blog: http://emsooriyabandara.blogspot.com/ >>>>> >>>>> >>>>> >>>>> >>>>> >>>> >>>> >>>> -- >>>> Thanks, >>>> M. S. M. Shariq. >>>> Senior Software Engineer >>>> Phone: +94 777 202 225 >>>> >>> >>> >>> >>> -- >>> >>> *Eranda Sooriyabandara*Senior Software Engineer; >>> Integration Technologies Team; >>> WSO2 Inc.; http://wso2.com >>> Lean . Enterprise . Middleware >>> >>> E-mail: eranda AT wso2.com >>> Mobile: +94 716 472 816 >>> Linked-In: http://www.linkedin.com/in/erandasooriyabandara >>> Blog: http://emsooriyabandara.blogspot.com/ >>> >>> >>> >>> >>> >>> _______________________________________________ >>> Dev mailing list >>> [email protected] >>> http://wso2.org/cgi-bin/mailman/listinfo/dev >>> >>> >> >> >> -- >> >> *S. Suhothayan* >> Associate Technical Lead, >> *WSO2 Inc. *http://wso2.com >> * <http://wso2.com/>* >> lean . enterprise . middleware >> >> >> >> *cell: (+94) 779 756 757 <%28%2B94%29%20779%20756%20757> | blog: >> http://suhothayan.blogspot.com/ <http://suhothayan.blogspot.com/> twitter: >> http://twitter.com/suhothayan <http://twitter.com/suhothayan> | linked-in: >> http://lk.linkedin.com/in/suhothayan <http://lk.linkedin.com/in/suhothayan>* >> >> >> _______________________________________________ >> Architecture mailing list >> [email protected] >> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture >> >> > > > -- > Sagara Gunathunga > > Senior Technical Lead; WSO2, Inc.; http://wso2.com > V.P Apache Web Services; http://ws.apache.org/ > Linkedin; http://www.linkedin.com/in/ssagara > Blog ; http://ssagara.blogspot.com > > > _______________________________________________ > Architecture mailing list > [email protected] > https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture > > -- *[image: http://wso2.com] <http://wso2.com> Senaka Fernando* Senior Technical Lead; WSO2 Inc.; http://wso2.com * Member; Apache Software Foundation; http://apache.org <http://apache.org>E-mail: senaka AT wso2.com <http://wso2.com>**P: +1 408 754 7388; ext: 51736*; *M: +94 77 322 1818 Linked-In: http://linkedin.com/in/senakafernando <http://linkedin.com/in/senakafernando>*Lean . Enterprise . Middleware
_______________________________________________ Architecture mailing list [email protected] https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
