<html>
  <head>
    <meta content="text/html; charset=ISO-8859-1"
      http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    Hello Paul / Koen,<br>
    <br>
    Yes, I totally agree with you guys. I'll fix that using this
    strategy. However, I wonder what Lincoln has to say about it before
    I do that.<br>
    <br>
    Best Regards,<br>
    <br>
    George Gastaldi<br>
    <br>
    On 09/20/2012 04:18 AM, Koen Aers wrote:
    <blockquote
      cite="mid:5904213B-E460-4BBC-B78E-93080C8121E9@gmail.com"
      type="cite">This sums up how I expect it to work (I might be
      biased because of working too much with Eclipse). API's have been
      broken before for the consumers (plugins) but IIRC we agreed not
      to let this happen again.
      <div><br>
      </div>
      <div>Cheers,</div>
      <div>Koen</div>
      <div><br>
        <div>
          <div>Op 20-sep.-2012, om 08:17 heeft Paul Bakker het volgende
            geschreven:</div>
          <br class="Apple-interchange-newline">
          <blockquote type="cite">
            <meta http-equiv="Content-Type" content="text/html;
              charset=ISO-8859-1">
            <div style="word-wrap: break-word; -webkit-nbsp-mode: space;
              -webkit-line-break: after-white-space; ">
              <div>Hi George,</div>
              <div><br>
              </div>
              <div>The problem is that the "marketing" version and
                semantic version are not separated cleanly. With
                marketing version I mean "you must see this release, it
                has a new version number so there is a lot of new
                stuff!" (nothing wrong with that). A semantic version
                just says something about wether APIs are broken or not.
                The plugin system now tries to use the version as a
                semantic version; should or shouldn't the plugin be
                compatible with this release?</div>
              <div>Semantic versioning is something described by the
                OSGi alliance, but can be used in any versioning scheme
                (we have discussed this before on the mailinglist). It
                is defined as follows:</div>
              <div><br>
              </div>
              <div>1. major &#8212; Packages with versions that have different
                major parts are not compatible both for providers as&nbsp;</div>
              <div>well as consumers. For example, 1.2 and 2.3 are
                completely incompatible.</div>
              <div>2. minor &#8212; API consumers are compatible with
                exporters that have the same major number and an equal
                or&nbsp;</div>
              <div>higher minor version. API providers are compatible
                with exporters that have the same major and minor&nbsp;</div>
              <div>version number. For example, 1.2 is backward
                compatible with 1.1 for consumers but for providers it
                is&nbsp;</div>
              <div>incompatible. Consumers should therefore import
                [1.2,2) and providers should import [1.2,1.3).</div>
              <div>3. micro &#8212; A difference in the micro part does not
                signal any backward compatibility issues. The micro&nbsp;</div>
              <div>number is used to fix bugs that do not affect either
                consumers or providers of the API.</div>
              <div>4. qualifier &#8212; The qualifier is usually used to
                indicate a build identity, for example a time stamp.
                Different&nbsp;</div>
              <div>qualifiers do not signal any backward compatibility
                issues.</div>
              <div><br>
              </div>
              <div>So the question is: are there any APIs changed
                related to plugins? In the case of plugins they will be
                mostly consumers (plugins use Forge APIs, but won't
                implement them most of the time) so only major changes
                (that break consumers) matter.</div>
              <div><br>
              </div>
              <div>The minor version update we want to do for this Forge
                version implies that consumers (plugins) will not be
                broken. First of all we should decide if this is correct
                or not, but I expect it is. Next I think it would make
                sense the plugin system to only look at major version
                changes, because that's when plugins will break.</div>
              <div><br>
              </div>
              <div>Cheers,</div>
              <div><br>
              </div>
              <div>Paul</div>
              <div><br>
              </div>
              <br>
              <div>
                <div>On Sep 20, 2012, at 0:31 , <a
                    moz-do-not-send="true"
                    href="mailto:ggastald@redhat.com">ggastald@redhat.com</a>
                  wrote:</div>
                <br class="Apple-interchange-newline">
                <blockquote type="cite">
                  <meta http-equiv="content-type" content="text/html;
                    charset=ISO-8859-1">
                  <div bgcolor="#FFFFFF" text="#000000"> Hello, <br>
                    <br>
                    Forge 1.1.0.Final is on the staging repository,
                    ready to be released. However, when I tested
                    installing any plugin (arquillian for example) I get
                    the following message and the plugin is ignored :<br>
                    <br>
                    Not loading plugin
                    [org.arquillian.forge.arquillian-plugin] because it
                    references Forge API version [1.0.3-SNAPSHOT] which
                    may not be compatible with my current version
                    [1.1.0.Final]. To remove this plugin, type 'forge
                    remove-plugin
                    org.arquillian.forge.arquillian-plugin:1.0.3-SNAPSHOT:1.0.0-SNAPSHOT-a13eaa1a-1d84-45bc-921c-4829dd36c0e9.

                    Otherwise, try installing a new version of the
                    plugin.<br>
                    <br>
                    <br>
                    What should we do ? Change each plugin to be
                    compatible with this version or change the
                    1.1.0.Final code to ignore it ?<br>
                    <br>
                    Suggestions appreciated, <br>
                    <br>
                    Best Regards,<br>
                    <br>
                    <div class="moz-signature">-- <br>
                      <b>George Gastaldi</b> | <i>Senior Software
                        Engineer</i> <br>
                      JBoss Forge Team<br>
                      Red Hat<br>
                    </div>
                  </div>
                  _______________________________________________<br>
                  forge-dev mailing list<br>
                  <a moz-do-not-send="true"
                    href="mailto:forge-dev@lists.jboss.org">forge-dev@lists.jboss.org</a><br>
                  <a moz-do-not-send="true"
                    href="https://lists.jboss.org/mailman/listinfo/forge-dev">https://lists.jboss.org/mailman/listinfo/forge-dev</a><br>
                </blockquote>
              </div>
              <br>
            </div>
            _______________________________________________<br>
            forge-dev mailing list<br>
            <a moz-do-not-send="true"
              href="mailto:forge-dev@lists.jboss.org">forge-dev@lists.jboss.org</a><br>
            <a class="moz-txt-link-freetext" href="https://lists.jboss.org/mailman/listinfo/forge-dev">https://lists.jboss.org/mailman/listinfo/forge-dev</a><br>
          </blockquote>
        </div>
        <br>
      </div>
      <br>
      <fieldset class="mimeAttachmentHeader"></fieldset>
      <br>
      <pre wrap="">_______________________________________________
forge-dev mailing list
<a class="moz-txt-link-abbreviated" href="mailto:forge-dev@lists.jboss.org">forge-dev@lists.jboss.org</a>
<a class="moz-txt-link-freetext" href="https://lists.jboss.org/mailman/listinfo/forge-dev">https://lists.jboss.org/mailman/listinfo/forge-dev</a>
</pre>
    </blockquote>
    <br>
    <div class="moz-signature">-- <br>
      <b>George Gastaldi</b> | <i>Senior Software Engineer</i> <br>
      JBoss Forge Team<br>
      Red Hat<br>
    </div>
  </body>
</html>