You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Separate tasks into xjc and jaxb-generate-dependency-graph
Add xjc dependsOn(jaxb-generate-dependency-graph)
add the extra external binding files until I figure out a way to share memory between tasks??
if there could be some way to share memory between tasks, I could eliminate the need for this
Fix the external binding,
need to take away that propert externalBindings in the Extension class
do it in code because not every namespace needs that external set and needs to be dynamic
get the file location that the external import lists, if not gives location, don’t put in the list
go through the external import file, find imports and go to those files and find imports
go through externam import file and locate includs and find the imports there as well
Add the includes xsd processing, not there yet
Once done with the includes processing, check for empty xsdFiles fields and if there are, then:
Remove from nsCollection
add a configuration in the Plugin class for the jaxb configuration
Add error checkers and throw specific errors if things aren’t where they should be
add groovy docs to the methods and variables
add inputs and outputs dependencies to maybe not run a task if you don’t need to
add the binding includes portion
is it reasonable to add anything for external include statements??
Can’t check for namespace, becuase includes doesn’t use that, but could check the startingDir
I don’t think it is reasonable, who would include something in a different top level directory?
put processing in for illegal arguments in the XJC tasks, and throw errors.
Like that every episode file binding actually exists
That directories exist
Binding Diretory
Episodes directoty
etc.
jaxbSchemaDestinationDirectory is defaulted to
jaxbSchemaDestinationDirectory = “src/main/java”
in Plugin configruation. it should be something more like
“${project.dir}/src/main/java”
because currently you can only run it from it’s subproject dir, not the top level.
This is ok, the task knows that the relative path is project.projectDir, but the sanityChecks() didn’t know that distincation until now
Make a utility class with methods like isAlreadyInList etc.
Instead of populating a map as an intermediary, populate the NamespaceMetaData appropriately
if @targetNamespace is empty, will populate with a “null”, then should throw a warning if encountering a null when running XJC
apply plugin JavaPlugin
Lose one extra line of code in build.gradle or whatee
The extra code that is in the XJCTask could be factored out and could have better tests written for it
Make a better test suite covering
xsd imports
xsd includes
xsd external imported namespaces
override set namespace in NamespaceMetaData to additionally convert namespace to episode name automatically
Fix the failing test case that shifts a namespace down, but it must also shift the namespace that this depends on down as well.
Accidentally deleted the NamespaceData equals and hashCode methods messing around with magit. Put them back in there.
Tree node hash and equals need to be cleaned up
mock antbuilder so can write integration tests all the way through
Task -> Task configuration through dependencies
Done through the addDependsOn* method in JaxbPlugin. If there is a
configuration that depends on the jaxb configuration, then the ‘xjc’
task depends on the ‘graph’ task like always. But now the ‘graph’ task
will depend on the ‘:common:xjc’ task, or whatever the project is named,
that will in turn depend on it’s own ‘graph’ task. So projects can depend
on each other to be parsed first so the dependency is there. Yea.
Figure out a way to incrementally execute these tasks. especially if projA depends on projB. Project B should be executed twice!