[tor-bugs] #20596 [Metrics]: streamline build.xml and metrics_checkstyle.xml throughout all java projects
Tor Bug Tracker & Wiki
blackhole at torproject.org
Tue Jan 3 17:18:45 UTC 2017
#20596: streamline build.xml and metrics_checkstyle.xml throughout all java
projects
-------------------------+------------------------------
Reporter: iwakeh | Owner: iwakeh
Type: enhancement | Status: needs_review
Priority: Medium | Milestone:
Component: Metrics | Version:
Severity: Normal | Resolution:
Keywords: | Actual Points:
Parent ID: | Points:
Reviewer: | Sponsor:
-------------------------+------------------------------
Changes (by iwakeh):
* status: needs_revision => needs_review
Comment:
Replying to [comment:29 karsten]:
> Whee, quite some code to review here. Sure, a lot of code has just
moved around, but that only makes it trickier to spot the little
differences. ...
Yes, that is how it feels to code this stuff ;-)
I updated all branches and will attach the patches for metrics-base here.
More in-line.
> ... But hopefully this initial feedback is useful anyway:
Very useful! Such a tasks just needs lots of testing/reviewing.
>
> https://gitweb.torproject.org/metrics-
base.git/commit/?id=7a01d68f813cb5ae2904e73dbc81999ce0622eca
>
> - The two properties `"libs"` and `"source-and-target-java-version"`
are listed twice.
Removed.
>
> - Speaking of `"source-and-target-java-version"`, we should probably
keep that property project-specific. Otherwise we'll have to raise the
Java version for all projects at once, including metrics-lib and projects
depending on metrics-lib.
If a project deviates from the base java version, only the property needs
to be added to build.xml and takes precedence. (Try setting it to java
1.4 and see how the compile complains about generics.)
I added a comment to the build.template.xml
>
> - The Checkstyle configuration file `java/metrics_checks.xml` does not
contain modules `SuppressWarningsFilter` and `SuppressWarningsHolder` that
we added in metrics-lib's version nor module `UnusedImports` in Onionoo's
version. It also still defines a maximum line length of 100 rather than
80. Let's combine the latest settings from all three code bases here.
Changed the line length check; all others were already part of the initial
check-in.
>
> - This is certainly a minor issue, but the usage instructions in the
`usage` target should all use the same capitalization and sentence
structure, like "'name' does XY", not "'name' Does XY" or "'name' XY".
>
> - It's already time to update the copyright year in the `docs` target!
Happy 2017!
Good that this only needs a change in one place now :-)
The year is now computed from the current time UTC.
>
> https://trac.torproject.org/projects/tor/attachment/ticket/20596/0001
-Implements-part-of-task-20596.patch
>
> - Typo in `java/build.xml.template`: "jarpatterprop" is missing an "n".
Fixed.
>
> - By the way, I already pushed this commit to facilitate testing. We
can fix things in subsequent commits.
Very useful.
>
>
https://gitweb.torproject.org/user/iwakeh/onionoo.git/commit/?h=task-20596-submod&id=0442032f24c8764d6c055ed3b9f4e047fbaa886e
>
> - Why did you change the `"jetty.version"` property to `""` rather than
`"-8.1.16.v20140903"`?
Fixed.
>
> - The new generic `tar` target does not include the `DESIGN` file
anymore. I'd argue that we should remove that file anyway, but if you
want to keep it, we'll have to include it in the release tarball, too.
Removed. Designs should be elsewhere, for example Tech-Reports.
>
> - The script file `src/main/resources/bootstrap-development.sh` should
be checked in with the executable flag.
Done.
>
> - This commit or a subsequent commit should remove
`src/test/resources/metrics_checks.xml` which is now obsolete.
Done.
>
> https://gitweb.torproject.org/user/iwakeh/metrics-
lib.git/commit/?h=task-20596-submod&id=60d20b85c4dac3d9d0905a185b7bc928736f7fcf
>
> - Which tests did not pass prior to this commit? They run through just
fine here.
Hmm, now these tests pass here, too. I'll go hunting for the
jdk/environment setting responsible, but this shouldn't affect this
ticket. Please, just cherry pick.
>
> - It shouldn't be necessary to initialize attributes with `null` or
`0`, which is the default anyway. All new no-args constructors should be
empty (except for a comment saying that they're empty on purpose).
The compiler complains about uninitialized fields (those are final in the
respective classes). Otherwise, same as the previous.
>
> https://gitweb.torproject.org/user/iwakeh/metrics-
lib.git/commit/?h=task-20596-submod&id=946c403c357661a2290b424ecb1a1c70d70c1334
>
> - The script file `src/main/resources/bootstrap-development.sh` should
be checked in with the executable flag.
Done.
>
> - This commit or a subsequent commit should remove
`src/test/resources/metrics_checks.xml` which is now obsolete.
Done.
>
> https://gitweb.torproject.org/user/iwakeh/metrics-
lib.git/commit/?h=task-20596-submod&id=7903d6a55504801dd03c75867ce79ff8f3799f11
>
> - Looks good!
Yeah!
>
>
https://gitweb.torproject.org/user/iwakeh/collector.git/commit/?h=task-20596-submod&id=277be1b5802f8a7408fad27748ca00dab802d54f
>
> - The script file `src/main/resources/bootstrap-development.sh` should
be checked in with the executable flag.
Done.
>
> - This commit or a subsequent commit should remove
`src/test/resources/junittest.policy` and
`src/test/resources/metrics_checks.xml` which are now obsolete.
Done.
>
> I guess I'll wait for the revision before trying out these changes
altogether. My plan was to create release tarballs and compare them with
the latest releases.
Be aware, that Onionoo '''does not''' include the protocol version in the
manifest anymore, because the protocol version is part of the release
version now.
In addition, also simulate development tasks.
>
> Thanks again for making build processes better!
Thanks for plowing to all these changes!
--
Ticket URL: <https://trac.torproject.org/projects/tor/ticket/20596#comment:30>
Tor Bug Tracker & Wiki <https://trac.torproject.org/>
The Tor Project: anonymity online
More information about the tor-bugs
mailing list