Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [aspectj-dev] ajdoc is dead, long live ajdoc

That's good news, Mik!

To generate the ajdoc scripts, uncomment this line
in build/src/$installer%/org/aspectj/Main.java:

      //lsm.writeScript("ajdoc");

(You'll have to `ant build` to create the build.jar;
then check it into lib/build/build.jar.)

To integrate ajdoc into aspectjtools.jar, make the ajbrowser
project depend (falsely, I know) on ajdoc, and ensure that the
libraries are available in lib, following our convention of
everything-works-after-checkout:

  - change JUNIT variable to lib/junit.jar
  - generate and use lib/jdk/javadoc-apis.jar
    (just to compile)
    or lib/sun-jdk12/tools.jar
    (to both compile and test)

(An eclipse alternative might be to use classpath variables,
but then we have to teach that to the build taskdef and
somehow publish values to Ant during builds and get everyone
to set up their variables.)

For more follow-up, see the bug:

  https://bugs.eclipse.org/bugs/show_bug.cgi?id=46557

Wes




Mik Kersten wrote:

We all thought that we buried that version of ajdoc that generated source
files, ran Javadoc over them, then post-processed the generated HTML.  But
this seemed like the only way to get ajdoc back in the hands of users given
our current resources.  So I resurrected it, moved it on top of the ASM, and
made it work for 1.2-1.4 doclets.

By "made it work", I mean that it generates documentation for spacewar and a
few other simple systems in its test suite.  I implemented the "advises" and
"advised by" links, so there is still all the declare stuff to do.  But now
that all the infrastructure works that should be straightforward.  Russell
Miles has volunteered (yay!) and I'll help him make that work.  A few notes:

BUILD

George: Could you check that the "ajdoc" module is getting built on the
build machine?  Also, it's "ajdoc.bat" file should be getting generated in
the same way that "ajbrowser.bat" is.

Wes: should George grab the script generation stuff from 1.0.x or should we
just copy the ajbrowser stuff since its so similar?

TESTING

We need to run ajdoc on a big system as a part of testing, and make sure
that it doesn't fail.  Either the JDK or our source tree.  Right now I'm
pretty sure something will fail when it gets into the corner case of the
JDK, but any fixes should be straightforward.  How do we do that as a part
of the build?  It would also be good to run it with 1.2, 1.3, and 1.4
versions of Javadoc underneath.

UI RATIONALE

I took a quick pass at making the display of crosscutting a bit better.  The
"Advises" and "Advised by" headings show up in a light-orange cell (keeping
with "blue is OO, orange is AO" theme).  The shading parallels how Javadoc
displays "inherited members"--i.e. things that aren't really in that file,
but are links to elsewhere.  Instead of a vertical arrangement of "inherited
members", the table has a horizontal arrangement to make it different and
make better use of h-space.

Mik

--
http://kerstens.org/mik


------------------------------------------------------------------------




Back to the top