Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [tracecompass-dev] Trace Compass Scripting API

That sounds like a good plan.

I was previously involved in a project that had scripting support. It leads to one very common problem, it is hard/impossible to know what is used and as most of the accesses to the code is via reflection it is very hard to limit access too.

> (no major releases are allowed in incubator projects, but we can play with minor and patch)

The good news is that isn't true as far as the EF is concerned - so you can release major versions if you want. The advantage is the API tooling will be better able to help you, especially if you want to introduce breaking changes. 

See EDP wiki (quoted here):

Interim Releases. Incubation Phase projects may make releases. All major and minor releases must go through a Release Review.
  • Interim releases by an Incubation Phase project conventionally have a pre-1.0 version number, but there is no specific requirement to do so. Consider the community and whether or not a 1.0 version number will create confusion if the project is still in incubation.



~~~
Jonah Graham
Kichwa Coders
www.kichwacoders.com


On Mon, 2 Dec 2019 at 13:32, Geneviève Bastien <gbastien@xxxxxxxxxxxx> wrote:
Hi all,


Until now, the tracecompass incubator project, which contains add-ons
for Trace Compass, has followed the Trace Compass API, a new update site
was created at each release of Trace Compass to freeze the add-ons for
this version, but it never had any releases, all the incubator plugins
are still at 0.0.1-qualifier. This allowed us to change the
classes/methods at will, without impacting anyone, as those plugins were
not really meant to be extended anyway, unless at your own risk.


But this will have to change, at least for some plugins:


The Trace Compass Scripting feature, from the incubator project, has a
user facing API. Users are going to develop scripts with it, we have a
github with example and utility scripts [1]. We cannot just change
methods from the API without impacting users. So the scripting plugins
will have to have some versioning (no major releases are allowed in
incubator projects, but we can play with minor and patch).


* As in the main Trace Compass, we will have to deprecate a public
method for at least 2 minor releases.

* minor releases will be upgraded only when deprecation occurs

* patch number will be upgraded when new APIs arrive

* The "release" of a new version will be the same as Trace Compass, but
that's not a hard constraint if some ongoing work makes it a week later,
that's fine, it's unofficial releases anyway.

* That means that at the next TC release, we'll release 0.1.0 of the
scripting plugins.

* The EASE API prints a deprecation warnings, which will tell the user to update his/her script.

 [1] https://github.com/tahini/tracecompass-ease-scripting

Any thoughts?

Best regards,
Geneviève

_______________________________________________
tracecompass-dev mailing list
tracecompass-dev@xxxxxxxxxxx
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://www.eclipse.org/mailman/listinfo/tracecompass-dev

Back to the top