You are viewing a plain text version of this content. The canonical link for it is here.
Posted to j-dev@xerces.apache.org by Michele Locati <ml...@gmail.com> on 2023/11/27 16:38:45 UTC

Simplify build.xml script for xml-schema-1.1-dev branch?

Hello everybody,

If I'm not wrong, the source code of the "standard" xerces version is
in the "trunk" branch, whereas the "schema-1.1" version is in the
"xml-schema-1.1-dev".

If so, in the xml-schema-1.1-dev branch we have some files that
diverged from trunk.

So, why do we have the "prepare-src-schema11" ant target?

Its role is to patch the source files to add schema 1.1 support, but
the source code is already modified to support schema 1.1 support.
So, what about simply integrating the patches defined in the
"prepare-src-schema11" target directly in the "xml-schema-1.1-dev"
branch?

Also, the build.xml file of the "xml-schema-1.1-dev" branch is meant
to be used to build Xerces with schema 1.1 support, so I think the
current target "jar" should be replaced by "jar-schema11" (the same
for "jars" / "jars-schema11).

Doing so, for example, the creation of distribution files would be
much easier: do you want to create the distribution files for the
"standard" version? Simply run "build pack-bin" in the trunk version.
Do you want to create the distribution files for the "schema-1.1"
version? Simply run "build pack-bin" in the xml-schema-1.1-dev version
(at the moment, this is not possible since "pack-bin" depends on
"jars" and not on "jars-schema11").

The attached simplify-schema11-build.patch files does all the above, that is:

1. update the .java files with the patches defined in the
"prepare-src-schema11" ant target

2. remove the "prepare-src-schema11" ant target

3. update the "jar-schema11" target so that it generates
"xercesImpl.jar" instead of "schema11-xercesImpl.jar" (that's the name
of the file included in the binary distribution files)

4. add to the "jars-schema11" target some missing dependencies
currently defined in the "jars" target (that is: icu4j.jar,
org.eclipse.wst.xml.xpath2.processor_1.2.1.jar, and
cupv10k-runtime.jar)

5. replace the content of the "compile" target with the content of the
"compile-schema11" target

6. replace the content of the "jar" target with the content of the
"jar-schema11" target

7. replace the content of the "jars" target with the content of the
"jars-schema11" target

8. remove the "jar-schema11" and "jars-schema11" targets.


Thoughts?

--
Ciao!
Michele

Re: Simplify build.xml script for xml-schema-1.1-dev branch?

Posted by Michael Glavassevich <mr...@gmail.com>.
I meant that the maintainers have such limited time that there’s never been an attempt to clean things up. We’re still generating two sets of packages despite XML Schema 1.1 being stable now. It was just easier to do that than merging or making the branch into the trunk. Ideally the “base” release would include XML Schema 1.1 right now and there would only be one set of packages that we publish.

> On Nov 28, 2023, at 8:40 AM, Michele Locati <ml...@gmail.com> wrote:
> 
> Il giorno lun 27 nov 2023 alle ore 19:05 Michael Glavassevich
> <mr...@gmail.com> ha scritto:
>> I think the goal was for the xml-schema-1.1-dev branch to eventually become the trunk, but to still have the flexibility to build a jar that only has XML Schema 1.0 support, similar to the targets for DTD-only support.
> 
> Thank you for the description of the current status of the project, Michael!
> 
> At the moment, the xml-schema-1.1-dev branch already diverged from
> trunk, so having a build.xml in xml-schema-1.1-dev that supports
> building the trunk version would be a nightmare (and I don't think
> it's possible ATM).
> 
> The easiest approach is: if someone wants the "1.0-only version" they
> can use trunk. if someone wants the "1.1 version" they can use
> xml-schema-1.1-dev.
> 
> In any case, the current state of xml-schema-1.1-dev (with code both
> in directly in the .java files and in the patches of build.xml) seems
> really wrong to me...
> 
> 
>> Keeping the status quo on this branch and the trunk just became the path of least resistance for the handful of releases we’ve had in recent years.
> 
> I don't fully understand what you mean with that... do you mean that
> the build.xml file as it is right now in xml-schema-1.1-dev should be
> kept as is because it makes maintainers' life easier?
> If so, the patches of my former message would make the maintaniers'
> life much easier IMHO... Just run "build all" in the two branches and
> you are done: you'll have the tarballs ready to be published for both
> branches...
> 
> --
> Ciao!
> Michele
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: j-dev-unsubscribe@xerces.apache.org
> For additional commands, e-mail: j-dev-help@xerces.apache.org
> 

---------------------------------------------------------------------
To unsubscribe, e-mail: j-dev-unsubscribe@xerces.apache.org
For additional commands, e-mail: j-dev-help@xerces.apache.org


Re: Simplify build.xml script for xml-schema-1.1-dev branch?

Posted by Michele Locati <ml...@gmail.com>.
Il giorno lun 27 nov 2023 alle ore 19:05 Michael Glavassevich
<mr...@gmail.com> ha scritto:
> I think the goal was for the xml-schema-1.1-dev branch to eventually become the trunk, but to still have the flexibility to build a jar that only has XML Schema 1.0 support, similar to the targets for DTD-only support.

Thank you for the description of the current status of the project, Michael!

At the moment, the xml-schema-1.1-dev branch already diverged from
trunk, so having a build.xml in xml-schema-1.1-dev that supports
building the trunk version would be a nightmare (and I don't think
it's possible ATM).

The easiest approach is: if someone wants the "1.0-only version" they
can use trunk. if someone wants the "1.1 version" they can use
xml-schema-1.1-dev.

In any case, the current state of xml-schema-1.1-dev (with code both
in directly in the .java files and in the patches of build.xml) seems
really wrong to me...


> Keeping the status quo on this branch and the trunk just became the path of least resistance for the handful of releases we’ve had in recent years.

I don't fully understand what you mean with that... do you mean that
the build.xml file as it is right now in xml-schema-1.1-dev should be
kept as is because it makes maintainers' life easier?
If so, the patches of my former message would make the maintaniers'
life much easier IMHO... Just run "build all" in the two branches and
you are done: you'll have the tarballs ready to be published for both
branches...

--
Ciao!
Michele

---------------------------------------------------------------------
To unsubscribe, e-mail: j-dev-unsubscribe@xerces.apache.org
For additional commands, e-mail: j-dev-help@xerces.apache.org


Re: Simplify build.xml script for xml-schema-1.1-dev branch?

Posted by Michael Glavassevich <mr...@gmail.com>.
I think the goal was for the xml-schema-1.1-dev branch to eventually become the trunk, but to still have the flexibility to build a jar that only has XML Schema 1.0 support, similar to the targets for DTD-only support. I’m not sure whether the build.xml reflects that well but I believe that was the intention. In reality, not much has been happening in this project for many years. Unfortunately by the time XML Schema 1.1 became a W3C Recommendation and the Xerces implementation was becoming stable, many of the developers became less active or had moved on to something else. Keeping the status quo on this branch and the trunk just became the path of least resistance for the handful of releases we’ve had in recent years.

> On Nov 27, 2023, at 9:39 AM, Michele Locati <ml...@gmail.com> wrote:
> 
> Hello everybody,
> 
> If I'm not wrong, the source code of the "standard" xerces version is
> in the "trunk" branch, whereas the "schema-1.1" version is in the
> "xml-schema-1.1-dev".
> 
> If so, in the xml-schema-1.1-dev branch we have some files that
> diverged from trunk.
> 
> So, why do we have the "prepare-src-schema11" ant target?
> 
> Its role is to patch the source files to add schema 1.1 support, but
> the source code is already modified to support schema 1.1 support.
> So, what about simply integrating the patches defined in the
> "prepare-src-schema11" target directly in the "xml-schema-1.1-dev"
> branch?
> 
> Also, the build.xml file of the "xml-schema-1.1-dev" branch is meant
> to be used to build Xerces with schema 1.1 support, so I think the
> current target "jar" should be replaced by "jar-schema11" (the same
> for "jars" / "jars-schema11).
> 
> Doing so, for example, the creation of distribution files would be
> much easier: do you want to create the distribution files for the
> "standard" version? Simply run "build pack-bin" in the trunk version.
> Do you want to create the distribution files for the "schema-1.1"
> version? Simply run "build pack-bin" in the xml-schema-1.1-dev version
> (at the moment, this is not possible since "pack-bin" depends on
> "jars" and not on "jars-schema11").
> 
> The attached simplify-schema11-build.patch files does all the above, that is:
> 
> 1. update the .java files with the patches defined in the
> "prepare-src-schema11" ant target
> 
> 2. remove the "prepare-src-schema11" ant target
> 
> 3. update the "jar-schema11" target so that it generates
> "xercesImpl.jar" instead of "schema11-xercesImpl.jar" (that's the name
> of the file included in the binary distribution files)
> 
> 4. add to the "jars-schema11" target some missing dependencies
> currently defined in the "jars" target (that is: icu4j.jar,
> org.eclipse.wst.xml.xpath2.processor_1.2.1.jar, and
> cupv10k-runtime.jar)
> 
> 5. replace the content of the "compile" target with the content of the
> "compile-schema11" target
> 
> 6. replace the content of the "jar" target with the content of the
> "jar-schema11" target
> 
> 7. replace the content of the "jars" target with the content of the
> "jars-schema11" target
> 
> 8. remove the "jar-schema11" and "jars-schema11" targets.
> 
> 
> Thoughts?
> 
> --
> Ciao!
> Michele
> <simplify-schema11-build.patch>
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: j-dev-unsubscribe@xerces.apache.org
> For additional commands, e-mail: j-dev-help@xerces.apache.org

---------------------------------------------------------------------
To unsubscribe, e-mail: j-dev-unsubscribe@xerces.apache.org
For additional commands, e-mail: j-dev-help@xerces.apache.org