Isha, I think for now you can configure the japicmp plugin to exclude the package as follows in the pom.xml.
<excludes> <exclude>com.datatorrent.lib.parser.*</exclude> </excludes> This is an example where we can benefit from inclusion approach with japicmp 0.7 version. Thanks, Chandni On Mon, Dec 14, 2015 at 8:34 PM, Isha Arkatkar <[email protected]> wrote: > +1 > When 0.7 version of japicmp is available, we can add exclusions for > @Evolving or inclusions for @Stable, whichever way is finalized. > > But before that should we add package exclusions individually if all the > operators inside the package are marked Evolving? > I wanted to make changes to some of the parser operators in Malhar. But > changing those breaks sem version check. > > Please suggest. > > Thanks, > Isha > > On Sun, Dec 13, 2015 at 10:46 PM, Tushar Gosavi <[email protected]> > wrote: > > > +1 > > The new operators added will most likely to undergo change frequently > until > > they become stable. > > > > - Tushar. > > > > > > On Mon, Dec 14, 2015 at 12:05 PM, Siyuan Hua <[email protected]> > > wrote: > > > > > +1 > > > > > > On Sun, Dec 13, 2015 at 10:01 PM, Yogi Devendra < > [email protected] > > > > > > wrote: > > > > > > > I am not against the Idea of using @Stable instead of marking every > new > > > > @Evolving. I agree that, it would convenient to have @Stable. > > > > > > > > Just raised the point which needs further discussion, so that we get > > > > suggestions from the mentors and community. > > > > > > > > ~ Yogi > > > > > > > > On 14 December 2015 at 11:23, Chandni Singh <[email protected] > > > > > > wrote: > > > > > > > > > Can we define some criteria for deciding when to consider operator > as > > > > > @Stable? > > > > > Yes, we should follow Hadoop's example and formalize some criteria. > > > > > > > > > > [It would be difficult for an open source project to track which > user > > > is > > > > > using which operators. So, above strategy may not work. ] > > > > > Hadoop is an open source project which actually created these > > > annotations > > > > > and it's widely used. I think any new development takes time to > > become > > > > > stable. > > > > > If the operators are NOT marked as @Stable, users will know that > when > > > > they > > > > > upgrade backward compatibility may be broken. > > > > > I think it has the same affect of marking every new operator/class > as > > > > > @Evolving. The benefit of checking semantic versioning of "Stable" > > > > > operators is that they are currently fewer in number and IMO easy > to > > > > manage > > > > > and new development will be implicitly "Evolving". > > > > > > > > > > Chandni > > > > > > > > > > > > > > > > > > > > On Sun, Dec 13, 2015 at 9:11 PM, Yogi Devendra < > > > [email protected]> > > > > > wrote: > > > > > > > > > > > When to mark certain operator as @Stable is not clearly defined. > > > > > > > > > > > > Can we define some criteria for deciding when to consider > operator > > as > > > > > > @Stable? > > > > > > > > > > > > For example one criteria could be, if operator is running for >1 > > year > > > > in > > > > > > production environment for some user. Can we come with some > > strategy > > > > like > > > > > > this? > > > > > > [It would be difficult for an open source project to track which > > user > > > > is > > > > > > using which operators. So, above strategy may not work. ] > > > > > > > > > > > > ~ Yogi > > > > > > > > > > > > On 14 December 2015 at 05:42, Timothy Farkas < > [email protected]> > > > > > wrote: > > > > > > > > > > > > > +1 > > > > > > > On Dec 13, 2015 4:08 PM, "Chandni Singh" < > > [email protected]> > > > > > > wrote: > > > > > > > > > > > > > > > Hi, > > > > > > > > > > > > > > > > In Malhar there are relatively smaller number of operators > > that > > > > we > > > > > > use > > > > > > > in > > > > > > > > our demo applications, customer applications, POCs etc that > are > > > > > mature. > > > > > > > > > > > > > > > > The library is cluttered with operators especially in > lib/util, > > > > > > lib/algo, > > > > > > > > lib/math packages which can be cleaned up by either removing > > them > > > > or > > > > > > > > improving them but that breaks semantic versioning. > > > > > > > > > > > > > > > > When we add new operators/utilities it takes certain time for > > > them > > > > to > > > > > > > > mature. Japicmp doesn't help because it doesn't honor > @Evolving > > > > > > @Unstable > > > > > > > > annotations for now. > > > > > > > > > > > > > > > > I wanted to propose that we add an annotation, let's say, > > re-use > > > > > > hadoop's > > > > > > > > @Stable and mark the operators which are stable with it and > > > perform > > > > > > > semver > > > > > > > > check on just these operators. > > > > > > > > > > > > > > > > The 0.7.0 version of japi cmp has the support for inclusions > > (as > > > > well > > > > > > as > > > > > > > > exclusions) based on annotations. > > > > > > > > > > > > > > > > Here is the info: > > > > > > > > https://github.com/siom79/japicmp/issues/88 > > > > > > > > > > > > > > > > The reason I am inclined to the inclusion approach is that > > there > > > > are > > > > > > > > relatively smaller number of operators which IMO are stable. > A > > > lot > > > > of > > > > > > > them > > > > > > > > aren't. > > > > > > > > So instead of going and marking so many as Evolving, we will > > mark > > > > > > > > relatively few of them as stable. > > > > > > > > > > > > > > > > Also new development can be facilitated by this. We wouldn't > > have > > > > to > > > > > > add > > > > > > > > @Evolving to everything which is new. Instead we will mark it > > > > @Stable > > > > > > > when > > > > > > > > it is. > > > > > > > > > > > > > > > > Please let me know what you think? > > > > > > > > > > > > > > > > Thanks, > > > > > > > > Chandni > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > >
