String exceptionName = "<unknown exception>";
if (throwable != null) exceptionName = throwable.getClass().getName();
this.error_label1.setText("Exception: " + exceptionName);
- this.error_label2.setText("If you can't fix it, please submit a bug to http://dev.eclipse.org/bugs");
+ this.error_label2.setText("If you can't fix it, please submit a bug to https://dev.eclipse.org/bugs");
this.stackTrace_textArea.setText("Message: " + message + '\n' + "Stack trace: " + details);
this.setSize(420, 330);
this.setLocationRelativeTo(owner);
"conforming to the Open Source Definition.\n\n" +
"For support or for more information about the AspectJ\n" +
"project or the license, visit the project home page at\n" +
- " http://eclipse.org/aspectj\n\n" +
+ " https://eclipse.org/aspectj\n\n" +
"If you find a bug (not solved by the documentation in the\n" +
"Development Environment Guide available with this release,\n" +
"any release notes, or the bug database), please submit steps\n" +
"to reproduce the bug (using the IDE component) at:\n" +
- " http://bugs.eclipse.org/bugs/enter_bug.cgi?product=AspectJ";
+ " https://bugs.eclipse.org/bugs/enter_bug.cgi?product=AspectJ";
private JTabbedPane main_tabbedPane = new JTabbedPane();
private JPanel button_panel = new JPanel();
<p align="center">Version ${build.version.long} built on ${build.date}</p>
<p>This installs the complete AspectJ 9 Development Kit (AJDK) distribution, with
the compiler, aspect libraries, structure browser, ant tasks,
-documentation, and examples.
+documentation, and examples.
This distribution is covered by the Eclipse Public License v 2.0 (see
https://www.eclipse.org/org/documents/epl-2.0/EPL-2.0.txt).
<p>
For IDE integrations or source code, see the project home page at
-http://eclipse.org/aspectj</p>
+https://eclipse.org/aspectj</p>
<p>${copyright.allRights.from1998}</p>
<p>
This is a binary only release of tools made available under
the Eclipse Public License.
-For more information on the license or to download the source code,
-see http://eclipse.org/aspectj</p>
+For more information on the license or to download the source code,
+see https://eclipse.org/aspectj</p>
<p>${copyright.allRights.from1998}</p>
<p></p>
<html>
<head>
-<title>Build and Test AspectJ</title>
+<title>Build and Test AspectJ</title>
</head>
<body>
<h1>Build and Test AspectJ</h1>
This describes how to build and test AspectJ
for developers working on source code for AspectJ.
-It covers building with Ant or Eclipse and testing with
+It covers building with Ant or Eclipse and testing with
JUnit and the harness used for compiler tests.
-For information on how the build works and how to
-debug failed builds, see
+For information on how the build works and how to
+debug failed builds, see
<a href="readme-build-module.html">
readme-build-module.html</a>.
-
+
<ol>
<li>Quick start</li>
<li>Requirements</li>
<li>Release preconditions and testing</li>
<li>Release completion</li>
</ol>
- </li>
+ </li>
<li>New modules, Java 5, and Ant-only build problems</li>
<li>Build Problems</li>
</ol>
<pre>
export CVS_ROOT=":pserver:anonymous@dev.eclipse.org:/home/technology"
cvs co org.aspectj/modules</pre>
-If using Eclipse, check out the subdirectories of
-<code>org.aspectj/modules</code> as Eclipse projects.
+If using Eclipse, check out the subdirectories of
+<code>org.aspectj/modules</code> as Eclipse projects.
Skip the <code>aspectj-attic</code> module.
<p/>Build an AspectJ distribution:
<pre> java -jar ../aj-build/dist/aspectj-DEVELOPMENT.jar</pre>
-You can skip the GUI by specifying an existing, empty writable
+You can skip the GUI by specifying an existing, empty writable
target directory using <code>-to {targDir}</code>:
<pre> java -jar ../aj-build/dist/aspectj-DEVELOPMENT.jar -to .</pre>
../../lib/ant/bin/ant</pre>
This should build and run the spacewar example.
-
+
<h3>Required sources, libraries, and tools</h3>
<p>
-
+
To build requires only the AspectJ project modules and Java VM's.
-All necessary libraries and tools are in the
+All necessary libraries and tools are in the
<a href="../lib/">lib</a> directory, including Ant.
</p>
<p>To get the source, check out from CVS. E.g., from the command line,
</p>
-
+
<pre>
export CVS_ROOT=":pserver:anonymous@dev.eclipse.org:/home/technology"
cvs co org.aspectj/modules
</pre>
<p>
- Eclipse users should check out each relevant subdirectory of
+ Eclipse users should check out each relevant subdirectory of
<code>org.aspectj/modules</code> as a project
- (most have .project files).
+ (most have .project files).
</p>
<p>
Not all modules are required.
-The <code>aspectj-attic</code> module only has old code.
+The <code>aspectj-attic</code> module only has old code.
</p>
<h3>Standard builds</h3>
<h4>Overview</h4>
-The build system is designed to work standalone and support
+The build system is designed to work standalone and support
Eclipse and Ant.
Each module is an Eclipse project, and all required libraries
are in lib/.
All build dependencies are read from Eclipse .classpath files
and managed using an Ant builder task,
so no Ant build scripts need to change when dependencies change.
-However, that means the modules (read: Eclipse projects) can only
+However, that means the modules (read: Eclipse projects) can only
do what the builder task understands. Currently it expects
release source files in <code>src</code> (or <code>java5-src</code>
-for Java 5 code) and test source files in
+for Java 5 code) and test source files in
<code>testsrc</code> (or <code>java5-testsrc</code>),
-and can handle Java and AspectJ projects.
+and can handle Java and AspectJ projects.
For more information on the build infrastructure and setup, see
<a href="readme-build-module.html">readme-build-module.html</a>
and <a href="#antInvariants">below</a>.
distribution of Ant 1.6.3, but that might change.
</p>
<p>
-This <a href=".">build</a> directory has a master
+This <a href=".">build</a> directory has a master
<a href="build.xml">build.xml</a> script, and the modules have
satellite <code>build.xml</code> which support building only that
-module.
+module.
The <a href="release">release</a> directory has scripts for doing
release builds (in multiple VM's, with testing). These are run by
automated build and before any AspectJ distribution.
-Custom <code>build.xml</code> files are in
+Custom <code>build.xml</code> files are in
The <a href="../docs/build.xml">../docs/build.xml</a>,
<a href="../org.aspectj.lib/build-aspectjlib.xml">org.aspectj.lib/build-aspectjlib.xml</a>,
-and <a href="../eclipse.plugin/build.xml">../eclipse.plugin/build.xml</a>.
+and <a href="../eclipse.plugin/build.xml">../eclipse.plugin/build.xml</a>.
These are invoked by the master
<a href="build.xml">build.xml</a> as needed.
Other modules have generic <code>build.xml</code>'s that just
-use the master build file to run targets <code>compile</code> and
+use the master build file to run targets <code>compile</code> and
<code>test</code> for that module.
(If you do <code>clean</code>, all binaries for all
modules are cleaned.)
</p>
<p>
-The master <a href="build.xml">build.xml</a>
-creates an AspectJ distribution in
+The master <a href="build.xml">build.xml</a>
+creates an AspectJ distribution in
<a href="../aj-build/dist/aspectj-DEVELOPMENT.jar">
../aj-build/dist/aspectj-DEVELOPMENT.jar
</a>;
-You'll notice module jar results are put in
+You'll notice module jar results are put in
<a href="../aj-build/jars">../aj-build/jars</a>,
including <code>{module}.jar</code> and <code>{module}-test.jar</code>
-(for the release and test classes) and
-<code>{module}-all.jar</code>, and
-<code>{module}-test-all.jar</code>
+(for the release and test classes) and
+<code>{module}-all.jar</code>, and
+<code>{module}-test-all.jar</code>
(including all antecedant classes and libraries).
See <a href="build.xml">build.xml</a> for other targets.
</p>
<p>
For any build, you should create your own version of
- <a href="local.properties">local.properties</a>, using
+ <a href="local.properties">local.properties</a>, using
<a href="sample.local.properties">sample.local.properties</a>
-as a template.
+as a template.
When using the master <code>build.xml</code>,
consider defining "build.config" to pass flags to the Ant
builder. E.g., to reuse Eclipse classes and log verbosely,
</p>
<pre>
cd modules/build
- ../lib/ant/bin/ant
+ ../lib/ant/bin/ant
</pre>
<p>
</pre>
<p>
-To build the test harness into
+To build the test harness into
<code>../aj-build/jars/testing-drivers-all.jar</code>:
</p>
<pre>
That will enable you
to run the compiler or test harness from within Eclipse (see below),
but it will not build the AspectJ release as Ant does.
-If you are making changes in Eclipse, you should set your default JRE
+If you are making changes in Eclipse, you should set your default JRE
to the minimum supported by the AspectJ tools (currently JDK 1.3)
to avoid using later API's.
You'll need to set some variables in your Eclipse environment;
</ul>
<h4>Running the Ant build scripts from Eclipse</h4>
-When running Ant from older versions of Eclipse,
-be sure to replace the Eclipse Ant
-libraries with ours. In the Ant configuration, remove all jars
-specified by Eclipse and add all the libraries in
+When running Ant from older versions of Eclipse,
+be sure to replace the Eclipse Ant
+libraries with ours. In the Ant configuration, remove all jars
+specified by Eclipse and add all the libraries in
<a href="../lib/ant/lib">../lib/ant/lib</a>
as well as in <a href="../lib/junit">../lib/junit</a>.
(Do not add <code>../lib/build/build.jar</code>, which is
<h4>Using Eclipse to compile but Ant to assemble</h4>
As mentioned above,
assuming Eclipse is compiling the AspectJ modules successfully,
-you can use Ant to assemble the Eclipse-built .class files into a
-product by including <code>useEclipseCompiles</code> in the
+you can use Ant to assemble the Eclipse-built .class files into a
+product by including <code>useEclipseCompiles</code> in the
<code>build.config</code>. That reduces the build process
to product assembly.
(And of course you can run Ant from Eclipse as described above.)
<h4>Running the compiler, browser, or harness from the command-line</h4>
-The build produces jar files in
+The build produces jar files in
<a href="../aj-build/jars/">../aj-build/jars/</a>,
some of which have manifests specifying the main class, so they
can be run using <code>java -jar {file} {arguments}</code>.
It appears that sometimes these jar files are not close during the
Eclipse session, which means they cannot be overwritten in new builds,
even those run from a different Ant process.
-If you find that builds are silently failing, try deleting the
+If you find that builds are silently failing, try deleting the
build products.
<p>
Each module has a tree of JUnit tests in the <code>testsrc</code> directory.
These parallel the <code>src</code> directories and contain roll-up suites
-for each package
- (<code>{module}/testsrc/{packagePath}/{package}Tests.java</code>) and
-for the module as a whole
- (<code>{module}/testsrc/{module}ModuleTests.java</code>).
+for each package
+ (<code>{module}/testsrc/{packagePath}/{package}Tests.java</code>) and
+for the module as a whole
+ (<code>{module}/testsrc/{module}ModuleTests.java</code>).
</p>
<p>
-The AspectJ project also has <i>additional</i> custom tests in the
+The AspectJ project also has <i>additional</i> custom tests in the
<a href="../tests">tests module</a>,
-mainly the compiler tests run by the harness in
+mainly the compiler tests run by the harness in
<a href="../tests/ajcTests.xml">ajcTests.xml</a>. <u>It is important
to run these additional compiler tests (not covered by the JUnit
suite) before and after any change to the compiler.</u>
The module <a href="../run-all-junit-tests">run-all-junit-tests</a>
refers to all the other modules and the compiler tests adapted through
the <a href="../tests/src">../tests/src</a>. So the easiest way to
-run the JUnit and compiler tests is to run the top-level suite
+run the JUnit and compiler tests is to run the top-level suite
<a href="../run-all-junit-tests/testsrc/RunTheseBeforeYouCommitTests.java">
RunTheseBeforeYouCommitTests</a>.
</p>
<p>
The assembled (<code>-all</code>) jar files include all antecedants,
except for those "skipped" (like Ant and JUnit).
-(For more on skipped libraries, see
+(For more on skipped libraries, see
<a href="readme-build-module.html">readme-build-module.html</a>).
</p>
<h4>Using the test harness to run compiler tests</h4>
<p>
-
-The <a href="build.xml">build.xml</a> <code>build-harness-jar</code>
+
+The <a href="build.xml">build.xml</a> <code>build-harness-jar</code>
target builds a single jar with
-the AspectJ binaries and a test harness as the main class.
-It reads test suite files like
+the AspectJ binaries and a test harness as the main class.
+It reads test suite files like
<a href="../tests/ajcTests.xml">../tests/ajcTests.xml</a>;
use the -help flag to see available options.
For more information, see
from a clean, up-to-date tree and with correct build version values
in <a href="local.properties">local.properties</a>, which
will update <code>org.aspectj.bridge.Version</code>.
-Do not run using the <code>build.config</code> value
+Do not run using the <code>build.config</code> value
<code>useEclipseCompiles</code>,
because this will include testing classes in the release libraries.
See <a href="#version">Version synchronization</a> below
<p/>
Normally, we do releases only after fixing all high-priority
(P1 and P2) bugs in the bug database
- (<a href="http://bugs.eclipse.org/bugs/buglist.cgi?product=AspectJ&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&priority=P1&priority=P2">
+ (<a href="https://bugs.eclipse.org/bugs/buglist.cgi?product=AspectJ&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&priority=P1&priority=P2">
All open AspectJ bugs with P1 and P2</a>).
-For bug fixes, associated tests in
+For bug fixes, associated tests in
<code>tests/ajcTestsFailing.xml</code> are fixed and moved to
<code>tests/ajcTests.xml</code>.
-
+
<p/>Before a release, run the release tests as described in
<a href="../tests/readme-release-tests.html">
(deprecated? using:
<a href="../build/release-checklist.txt">
../build/release-checklist.txt</a>).
-
-
+
+
<h4>Release completion</h4>
When the release build is accepted,
tag the tree with the release version
<p/>
Pushing the release out to the web involves manually updating
the web with the release files and documentation,
- verifying the downloads and pages,
+ verifying the downloads and pages,
and sending any release notifications.
- Save the release installer, test results, and any notes
+ Save the release installer, test results, and any notes
about deferred bugs or tests in
<code>org.aspectj/releases/aspectj-{version}/</code>.
-
+
<p/>
<hr/>
<a name="antInvariants"/>
<h3>New modules, Java 5, and Ant-only build problems</h3>
<p>
- To reiterate (and as described more fully in
+ To reiterate (and as described more fully in
<a href="readme-build-module.html">readme-build-module.html</a>),
the build system introspects on module and the .classpath file
to determine how to build. Further, it enforces stricter build
invariants than the Eclipse projects do; when your code works
in Eclipse but fails in the Ant, it's your responsibility to fix it
- by following the build invariants below.
+ by following the build invariants below.
</p>
<p>
<p>What to do when adding a new module (i.e., eclipse project):
<li>same use of known classpath variables/entries</li>
</ol>
</li>
- <li>Add module to those checked for copyright/license in
+ <li>Add module to those checked for copyright/license in
<a href="testsrc/org/aspectj/build/BuildModuleTests.java">
testsrc/org/aspectj/build/BuildModuleTests.java
</a>
</li>
<li>Add module to module dependency tree as usual in Eclipse project properties</li>
<li>If the module is to produce a jar visible in {AspectJ}/lib,
- then add a zero-length file of the correct name to
+ then add a zero-length file of the correct name to
<a href="products/tools/dist/lib">products/tools/dist/lib</a>
- and an alias to that file from the module name in
+ and an alias to that file from the module name in
<a href="src/org/aspectj/internal/tools/build/Builder.properties">
Builder.properties</a>
</li>
<li>Neither <code>testsrc</code> directory is used in production builds.
</li>
<li>
- This only requires what's in the
+ This only requires what's in the
<a href="../lib">../lib</a> directory and the usual Java VM's.
That means modules can only depend on each other and the libraries
in <a href="../lib">../lib</a>.
<li>Modules are built into jar files. <code>{module.name}.jar</code>
includes only the module classes, and <code>{module.name}-all.jar</code>
includes the module classes plus any antecendant modules and any
- required libraries not skipped (see below).
+ required libraries not skipped (see below).
</li>
<li>A file <code>{module.name}/{module.name}.mf.txt</code>, if available,
will be used as the jar file manifest, after replacing certain
(Ant, JUnit, etc.).
</li>
<li>Test classes are excluded from the compile process for production builds.
- These result in the same jar files; there is no way to
+ These result in the same jar files; there is no way to
tell externally whether the test classes were stripped from a jar.
</li>
<li>ONLY resources specified as <code>resource.pattern</code> in
<li>Java 5 code is built in Ant only if JAVA_HOME points to Java 5 (or later).
</li>
<li>No normal code can depend on any Java 5 code.
- The build system checks by building everything using the
+ The build system checks by building everything using the
lowest VM supported by the tools.
</li>
</ul>
if this is added as an ordinary (external jar), then the main
ant build script will pick up the contents of graphics.jar and
include it in the aspectj distribution (obvious clue, the size of
- the built aspectjtools.jar doubles to about 10MB). Instead, from the
+ the built aspectjtools.jar doubles to about 10MB). Instead, from the
Java Build Path properties page of the project, select "Add Library"
and add the JDK library. You now have to remove the JRE_LIB entry
from the project or Eclipse complains about duplicate jar files
in the path.
</li>
- <li>More generally, if you find extra classes in the assembled jars,
- most likely you have added unexpected libraries to the build, e.g.,
- when adding libraries for the IBM JRE.
- To skip those, add them to the "skip.libraries" list in
+ <li>More generally, if you find extra classes in the assembled jars,
+ most likely you have added unexpected libraries to the build, e.g.,
+ when adding libraries for the IBM JRE.
+ To skip those, add them to the "skip.libraries" list in
<a href="src/org/aspectj/internal/tools/build/Builder.properties">
src/org/aspectj/internal/tools/build/Builder.properties</a>.
These libraries will always be skipped for any module built this way;
* A Linux box distribution : [ ]
* An iMac (nice-to-have) JDK 1.4.x : [ ]
* Eclipse version : [ ]
-
+
* A pair of scissors (get an adult to help you with these)
* Some sticky-backed plastic
* Create a new directory under releases for this release [ ]
(e.g. releases/aspectj-1.1rc1)
-
+
* Save a copy of this file there as package-and-test-notes.txt [ ]
-
+
* Edit build/build-properties.xml and set the version properties for this
release [ ]
-
- e.g.
-
- <property name="build.version" value="1.1rc1"/>
- <property name="build.version.base" value="1.1"/>
- <property name="build.version.long" value="1.1 release candidate 1"/>
- <property name="build.version.short" value="1.1rc1"/>
-
+
+ e.g.
+
+ <property name="build.version" value="1.1rc1"/>
+ <property name="build.version.base" value="1.1"/>
+ <property name="build.version.long" value="1.1 release candidate 1"/>
+ <property name="build.version.short" value="1.1rc1"/>
+
* Edit org.aspectj.ajdt.core/src/org.aspectj.ajdt.ajc/messages.properties and
set the version properties for this release [ ]
-
- e.g.
+
+ e.g.
### AspectJ-specific messages
configure.version = AspectJ Compiler 1.1rc1
### miscellaneous
misc.usage = AspectJ Compiler 1.1 release candidate 1\n\
...
-
+
Build:
================================================================================
* Ensure JAVA_HOME is set to point to your 1.3 JDK [ ]
echo $JAVA_HOME [ ]
-
- (even when you "Run Ant..." from eclipse, the value of JAVA_HOME is
+
+ (even when you "Run Ant..." from eclipse, the value of JAVA_HOME is
used rather than the JRE specified in your Eclipse settings).
* When running ant, use the version in modules/lib/ant,
$ ant clean [ ]
$ ant fail-unless-boot-libraries-uptodate [ ]
$ ant [ ]
-
+
* Save the build output (console log) as build-<version>.log.txt [ ]
(e.g. build-1.1rc1.log.txt)
-
+
* Save the built jar to the releases directory [ ]
(releases/aspectj-<version>)
* run junitModules.xml tests
- - go to modules/tests/ and run
-
+ - go to modules/tests/ and run
+
$ ant -f junitModules.xml {target} \
-Daspectjrt.path=../aj-build/dist/tools/lib/aspectjrt.jar
-- target = clean [ ]
-- target = default [ ]
-
- - Record any failures here (should be none)
-
+
+ - Record any failures here (should be none)
+
- Save the test results as junitModules.report.zip [ ]
(zip of eclipse/workspace/tests/bin/junitXmlOutput/html)
-
-
+
+
* run Harness tests on the 1.3 vm (ajcTests.xml):
-
+
Where {harness} is
-
+
$ cd tests
- $ {java-1.3} -jar ../aj-build/jars/testing-drivers-all.jar
+ $ {java-1.3} -jar ../aj-build/jars/testing-drivers-all.jar
Do:
$ {harness} -release -logFail ajcTests.xml [ ]
-
+
-- save results in ajcTests-result-<version>-JDK13.txt [ ]
(e.g. ajcTests-result-1.1rc1-JDK13.txt)
-
+
-- record any failures (should be none) inline here.
-
+
$ {harness} -release -logFail -emacssym ajcTests.xml [ ]
-- save results in ajcTests-result-<version>-emacssym-JDK13.txt [ ]
(e.g. ajcTests-result-1.1rc1-emacssym-JDK13.txt)
-
+
-- record any failures (should be none) inline here.
-
+
* run Harness tests on the 1.4 vm:
Where {harness} is
-
+
$ cd tests
- $ {java-1.4} -jar ../aj-build/jars/testing-drivers-all.jar
+ $ {java-1.4} -jar ../aj-build/jars/testing-drivers-all.jar
Do:
$ {harness} -release -logFail ajcTests.xml [ ]
-
+
-- save results in ajcTests-result-<version>-JDK14.txt [ ]
(e.g. ajcTests-result-1.1rc1-JDK14.txt)
-
+
-- record any failures (should be none) inline here.
-
+
$ {harness} -release -logFail -emacssym ajcTests.xml [ ]
-- save results in ajcTests-result-<version>-emacssym-JDK14.txt [ ]
(e.g. ajcTests-result-1.1rc1-emacssym-JDK14.txt)
-
+
-- record any failures (should be none) inline here.
-
+
* run Harness on ajcTestsFailing.xml
Where {harness} is
-
+
$ cd tests
- $ {java-1.3} -jar ../aj-build/jars/testing-drivers-all.jar
+ $ {java-1.3} -jar ../aj-build/jars/testing-drivers-all.jar
Do:
$ {harness} -release -logFail ajcTestsFailing.xml [ ]
-
+
-- save results in ajcTestsFailing-result-<version>-JDK13.txt [ ]
(e.g. ajcTestsFailing-result-1.1rc1-JDK13.txt)
-
- -- record any failures inline here (should be none. ajcTestsFailing
+
+ -- record any failures inline here (should be none. ajcTestsFailing
should be empty for a final release. Known exceptions are
permissible for a non-final release.)
-
-
+
+
Installation & Verification Tests
================================================================================
* install from aspectj-<version>.jar as built above
- verify version number and build date on splash screen [ ]
-
+
- save screenshot of splash screen (not essential) as [ ]
- Installer-Splash-Screen.bmp (file format may vary)
-
+ Installer-Splash-Screen.bmp (file format may vary)
+
* verify directory structure created ok [ ]
* check version in README-AspectJ.html [ ]
* verify debug info included in class files
- "javap -l org.aspectj.tools.ajc.Main" under jdk 1.4 or later [ ]
-
+
* verify manual dates correct in docs [ ]
* verify api docs present and correct [ ]
Product Testing
================================================================================
-These tests are a bit more rigorous and time-consuming.
+These tests are a bit more rigorous and time-consuming.
Run at your discretion
* Compile AspectJ sources using AspectJ [ ]
Once developer consensus is reached on the build:
-* commit all releases/aspectj-<version>/*.* files created during
+* commit all releases/aspectj-<version>/*.* files created during
this process [ ]
* tag /home/technology/org.aspectj as vM_m_r_XX (e.g. v1_1_0_RC1) [ ]
-* post aspectj-<version>.jar to
+* post aspectj-<version>.jar to
download.eclipse.org/technology/ajdt/aspectj-<version>.jar [ ]
-
-* download from
- http://download.eclipse.org/technology/ajdt/aspectj-<version>.jar
+
+* download from
+ https://download.eclipse.org/technology/ajdt/aspectj-<version>.jar
and install [ ]
-
+
* post news article on project home page [ ]
* post link on download page [ ]
+ "is hereby granted if the publication acknowledges "
+ "the author by name and "
+ "the source by reference to the AspectJ project home page "
- + "at http://eclipse.org/aspectj.</small></p>"
+ + "at https://eclipse.org/aspectj.</small></p>"
+ EOL;
/** template algorithm to render */
* features that we use.
* sources:
* http://www-128.ibm.com/developerworks/library/os-ecl-osgi/index.html
- * http://help.eclipse.org/help30/index.jsp?topic=/org.eclipse.platform.doc.isv/reference/osgi/org/osgi/framework/Constants.html
+ * https://help.eclipse.org/help30/index.jsp?topic=/org.eclipse.platform.doc.isv/reference/osgi/org/osgi/framework/Constants.html
*/
public static class OSGIBundle {
public static final Name BUNDLE_NAME = new Name("Bundle-Name");
}
}
}
-
<p align="center">Version ${build.version.long} built on ${build.date}</p>
<p>This installs the complete AspectJ 9 Development Kit (AJDK) distribution, with
the compiler, aspect libraries, structure browser, ant tasks,
-documentation, and examples.
+documentation, and examples.
This distribution is covered by the Eclipse Public License v 2.0 (see
https://www.eclipse.org/org/documents/epl-2.0/EPL-2.0.txt).
<p>
For IDE integrations or source code, see the project home page at
-http://eclipse.org/aspectj</p>
+https://eclipse.org/aspectj</p>
<p>${copyright.allRights.from1998}</p>
==== Known issues with the AspectJ browser
For the most up-to-date information on known problems, see the
-http://bugs.eclipse.org/bugs[bug database] for unresolved
-http://bugs.eclipse.org/bugs/buglist.cgi?&product=AspectJ&component=Compiler&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED[compiler
+https://bugs.eclipse.org/bugs[bug database] for unresolved
+https://bugs.eclipse.org/bugs/buglist.cgi?&product=AspectJ&component=Compiler&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED[compiler
bugs] or
-http://bugs.eclipse.org/bugs/buglist.cgi?&product=AspectJ&component=IDE&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED[IDE
+https://bugs.eclipse.org/bugs/buglist.cgi?&product=AspectJ&component=IDE&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED[IDE
bugs] .
* Memory and forking: Users email most about the browser task running
You can send email to aspectj-users@dev.eclipse.org. (Do join the list
to participate!) We also welcome any bug reports, patches, and feature
requests; you can submit them to the bug database at
-http://bugs.eclipse.org/bugs using the AspectJ product and IDE
+https://bugs.eclipse.org/bugs using the AspectJ product and IDE
component.
source-compatible with Ant 1.3 and Ant 1.4, but the task sources must be
compiled with those versions of the Ant libraries to be used under those
versions of Ant. Sources are available under the Eclipse Public License
-v 2.0 at http://eclipse.org/aspectj.
+v 2.0 at https://eclipse.org/aspectj.
In Ant 1.5, third-party tasks can be declared using a taskdef entry in
the build script, to identify the name and classes. When declaring a
==== Known issues with the Ant tasks
For the most up-to-date information on known problems, see the
-http://bugs.eclipse.org/bugs[bug database] for unresolved
-http://bugs.eclipse.org/bugs/buglist.cgi?&product=AspectJ&component=Compiler&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED[compiler
+https://bugs.eclipse.org/bugs[bug database] for unresolved
+https://bugs.eclipse.org/bugs/buglist.cgi?&product=AspectJ&component=Compiler&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED[compiler
bugs] or
-http://bugs.eclipse.org/bugs/buglist.cgi?&product=AspectJ&component=Ant&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED[taskdef
+https://bugs.eclipse.org/bugs/buglist.cgi?&product=AspectJ&component=Ant&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED[taskdef
bugs] .
When running Ant build scripts under Eclipse 2.x variants, you will get
For questions, you can send email to aspectj-users@dev.eclipse.org. (Do
join the list to participate!) We also welcome any bug reports, patches,
and features; you can submit them to the bug database at
-http://bugs.eclipse.org/bugs using the AspectJ product and Ant
+https://bugs.eclipse.org/bugs using the AspectJ product and Ant
component.
compiled with those versions of the Ant libraries to be used
under those versions of Ant.
Sources are available under the Eclipse Public License v 2.0
- at <ulink url="http://eclipse.org/aspectj">http://eclipse.org/aspectj</ulink>.
+ at <ulink url="https://eclipse.org/aspectj">https://eclipse.org/aspectj</ulink>.
</para>
<para>
In Ant 1.5, third-party tasks can be declared using a taskdef entry in
<para>
For the most up-to-date information on known problems,
see the
- <ulink url="http://bugs.eclipse.org/bugs">bug database</ulink>
+ <ulink url="https://bugs.eclipse.org/bugs">bug database</ulink>
for unresolved
- <ulink url="http://bugs.eclipse.org/bugs/buglist.cgi?&product=AspectJ&component=Compiler&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED">
+ <ulink url="https://bugs.eclipse.org/bugs/buglist.cgi?&product=AspectJ&component=Compiler&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED">
compiler bugs
</ulink> or
- <ulink url="http://bugs.eclipse.org/bugs/buglist.cgi?&product=AspectJ&component=Ant&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED">
+ <ulink url="https://bugs.eclipse.org/bugs/buglist.cgi?&product=AspectJ&component=Ant&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED">
taskdef bugs
</ulink>.
</para>
(Do join the list to participate!)
We also welcome any bug reports, patches, and features;
you can submit them to the bug database at
- <ulink url="http://bugs.eclipse.org/bugs">
- http://bugs.eclipse.org/bugs</ulink>
+ <ulink url="https://bugs.eclipse.org/bugs">
+ https://bugs.eclipse.org/bugs</ulink>
using the AspectJ product and Ant component.
</para>
</sect2>
<!-- sgml-local-ecat-files: devguide.ced -->
<!-- sgml-parent-document:("devguide.sgml" "book" "refentry") -->
<!-- End: -->
-
AspectJ Programming Guide</ulink>,
the documentation available with the AspectJ support available for
various integrated development environments (e.g.,
- <ulink url="http://eclipse.org/ajdt">Eclipse AJDT</ulink>),
+ <ulink url="https://eclipse.org/ajdt">Eclipse AJDT</ulink>),
and the most-recent documentation available from
the AspectJ project page, at
- <ulink url="http://eclipse.org/aspectj">
- http://eclipse.org/aspectj</ulink>.
+ <ulink url="https://eclipse.org/aspectj">
+ https://eclipse.org/aspectj</ulink>.
</para>
</abstract>
</bookinfo>
....
The DTD defining the format of this file is available here:
-http://www.eclipse.org/aspectj/dtd/aspectj.dtd.
+https://www.eclipse.org/aspectj/dtd/aspectj.dtd.
An aop.xml file contains two key sections: `aspects` defines one or more
aspects to the weaver and controls which aspects are to be used in the
<para>
The DTD defining the format of this file is available here:
- http://www.eclipse.org/aspectj/dtd/aspectj.dtd.
+ https://www.eclipse.org/aspectj/dtd/aspectj.dtd.
</para>
<para>
An aop.xml file contains two key sections: <literal>aspects</literal> defines one
The xref:../progguide/index.html[AspectJ Programming Guide] describes
the AspectJ language. This guide describes the AspectJ tools produced by
-the AspectJ team on http://eclipse.org/aspectj. The AspectJ tools
+the AspectJ team on https://eclipse.org/aspectj. The AspectJ tools
include - ajc, the compiler/weaver; ajdoc, a documentation tool;
ajbrowser, a crosscutting code viewer; Ant support for ajc; and
load-time weaving support. These tools are delivered in the library
(tools) and `aspectjrt.jar` (runtime). This guide does not describe the
Eclipse AspectJ development tools (AJDT). That is produced by another
team (sharing some members) on
-http://eclipse.org/aspectj[http://eclipse.org/ajdt]. AJDT is delivered
+https://eclipse.org/aspectj[https://eclipse.org/ajdt]. AJDT is delivered
as an Eclipse plugin, incorporating the classes in the AspectJ tools
libraries along with the Eclipse plugin interface classes.
describes the AspectJ language. This guide describes the AspectJ
tools produced by the AspectJ
team on
- <ulink url="http://eclipse.org/aspectj">http://eclipse.org/aspectj</ulink>.
+ <ulink url="https://eclipse.org/aspectj">https://eclipse.org/aspectj</ulink>.
The AspectJ tools include
- ajc, the compiler/weaver;
ajdoc, a documentation tool; ajbrowser, a crosscutting code viewer;
<literal>aspectjrt.jar</literal> (runtime).
This guide does not describe the Eclipse AspectJ development tools
(AJDT). That is produced by another team (sharing some members) on
- <ulink url="http://eclipse.org/aspectj">http://eclipse.org/ajdt</ulink>.
+ <ulink url="https://eclipse.org/aspectj">https://eclipse.org/ajdt</ulink>.
AJDT is delivered as an Eclipse plugin, incorporating the classes in
the AspectJ tools libraries along with the Eclipse plugin interface
classes.
=== User-suggested New Language Features
* `-` wildcard
-** http://dev.eclipse.org/mhonarc/lists/aspectj-dev/msg00717.html
+** https://dev.eclipse.org/mhonarc/lists/aspectj-dev/msg00717.html
** https://bugs.eclipse.org/bugs/show_bug.cgi?id=34054#c2
* Class cast pointcut
-** http://dev.eclipse.org/mhonarc/lists/aspectj-users/msg01479.html
+** https://dev.eclipse.org/mhonarc/lists/aspectj-users/msg01479.html
* Extensible pointcuts, abstract pointcuts, and interfaces
-** http://dev.eclipse.org/mhonarc/lists/aspectj-dev/msg00458.html
-** http://dev.eclipse.org/mhonarc/lists/aspectj-dev/msg00467.html +
-
+** https://dev.eclipse.org/mhonarc/lists/aspectj-dev/msg00458.html
+** https://dev.eclipse.org/mhonarc/lists/aspectj-dev/msg00467.html +
+
=== Key Language Design Properties
==== Orthogonal join point model
== *AspectJ^TM^ Compiler and Core Tools License*
This is a binary-only release. Source code is available from
-http://eclipse.org/aspectj
+https://eclipse.org/aspectj
The Eclipse Foundation makes available all content in this distribution
("Content"). Unless otherwise indicated below, the Content is provided
that was provided with the Content. If no such license exists, contact
the Redistributor. Unless otherwise indicated below, the terms and
conditions of the EPL still apply to any source code in the Content and
-such source code may be obtained at link:/[http://www.eclipse.org].
+such source code may be obtained at link:/[https://www.eclipse.org].
=== Third Party Content
<p>This is a binary-only release. Source code
is available from
-<a href="http://eclipse.org/aspectj">http://eclipse.org/aspectj</a></p>
+<a href="https://eclipse.org/aspectj">https://eclipse.org/aspectj</a></p>
-<p>The Eclipse Foundation makes available all content in this distribution ("Content").
+<p>The Eclipse Foundation makes available all content in this distribution ("Content").
Unless otherwise indicated below, the Content is provided to you under the terms and conditions of the
- Eclipse Public License Version v 2.0 ("EPL"). A copy of the EPL is available
+ Eclipse Public License Version v 2.0 ("EPL"). A copy of the EPL is available
at <a href="../../org/documents/epl-2.0/EPL-2.0.txt">https://www.eclipse.org/org/documents/epl-2.0/EPL-2.0.txt</a>.
For purposes of the EPL, "Program" will mean the Content.</p>
- <p>If you did not receive this Content directly from the Eclipse Foundation, the Content is
+ <p>If you did not receive this Content directly from the Eclipse Foundation, the Content is
being redistributed by another party ("Redistributor") and different terms and conditions may
- apply to your use of any object code in the Content. Check the Redistributor's license
+ apply to your use of any object code in the Content. Check the Redistributor's license
that was provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise
indicated below, the terms and conditions of the EPL still apply to any source code in the Content
- and such source code may be obtained at <a href="/">http://www.eclipse.org</a>.</p>
+ and such source code may be obtained at <a href="/">https://www.eclipse.org</a>.</p>
+
-
<h3>Third Party Content</h3>
- <p>The Content includes items that have been sourced from third parties as set out below. If you
- did not receive this Content directly from the Eclipse Foundation, the following is provided
- for informational purposes only, and you should look to the Redistributor's license for
+ <p>The Content includes items that have been sourced from third parties as set out below. If you
+ did not receive this Content directly from the Eclipse Foundation, the following is provided
+ for informational purposes only, and you should look to the Redistributor's license for
terms and conditions of use.</p>
<em>
<h4>BCEL v5.1</h4>
<p>This product contains software developed by the
Apache Software Foundation (<a href="http://www.apache.org/">http://www.apache.org</a>).</p>
-
+
<p>AspectJ includes a modified version of the Apache Jakarta Byte Code Engineering Library (BCEL) v5.1.
BCEL is available at <a href="https://commons.apache.org/bcel/">https://commons.apache.org/bcel/</a>. Source
code for the modified version of BCEL is available at Eclipse.org in the AspectJ source tree. This code
is made available under the Apache Software License v1.1</p>
-
- <h4>ASM v2.2.1</h4>
+
+ <h4>ASM v2.2.1</h4>
<p>AspectJ includes a binary version of ASM v2.2.1 (<a href="http://asm.objectweb.org/index.html">http://asm.objectweb.org/</a>)
- The source code for ASM is available from the ObjectWeb download site at
- <a href="http://asm.objectweb.org/download/">http://asm.objectweb.org/download/</a>.
- <p>The ASM license is available at <a href="http://asm.objectweb.org/license.html">http://asm.objectweb.org/license.html</a>.
+ The source code for ASM is available from the ObjectWeb download site at
+ <a href="http://asm.objectweb.org/download/">http://asm.objectweb.org/download/</a>.
+ <p>The ASM license is available at <a href="http://asm.objectweb.org/license.html">http://asm.objectweb.org/license.html</a>.
The license is also reproduced here:
</p>
The AspectJ tools sources are available under the
https://www.eclipse.org/org/documents/epl-2.0/EPL-2.0.txt[Eclipse Public
-License v 2.0] in the Git repository at http://eclipse.org/aspectj. For
+License v 2.0] in the Git repository at https://eclipse.org/aspectj. For
more information, see the FAQ entry on
faq.html#q:buildingsource[building sources].
each IDE support package, their respective sources, and the Ant tasks -
because they came under different licenses. All of AspectJ 1.1 is
licensed under the CPL 1.0, so the tools, Ant tasks, and documentation
-are all in one distribution available from http://eclipse.org/aspectj.
+are all in one distribution available from https://eclipse.org/aspectj.
To retain their MPL 1.1 license, Ajde for
http://aspectj4emacs.sourceforge.net/[Emacs],
http://aspectj4netbean.sourceforge.net/[NetBeans] and
The AspectJ 1.1.0 release contains a small number of known limitations
relative to the AspectJ 1.1 language. For the most up-to-date
information about known limitations in an AspectJ 1.1 release, see the
-bug database at http://bugs.eclipse.org/bugs, especially the open bugs
+bug database at https://bugs.eclipse.org/bugs, especially the open bugs
for the
-http://bugs.eclipse.org/bugs/buglist.cgi?product=AspectJ&component=Compiler&bug_status=UNCONFIRMED&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED[compiler],
-http://bugs.eclipse.org/bugs/buglist.cgi?product=AspectJ&component=IDE&bug_status=UNCONFIRMED&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED[IDE
+https://bugs.eclipse.org/bugs/buglist.cgi?product=AspectJ&component=Compiler&bug_status=UNCONFIRMED&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED[compiler],
+https://bugs.eclipse.org/bugs/buglist.cgi?product=AspectJ&component=IDE&bug_status=UNCONFIRMED&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED[IDE
support],
-http://bugs.eclipse.org/bugs/buglist.cgi?product=AspectJ&component=Doc&bug_status=UNCONFIRMED&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED[documentation],
+https://bugs.eclipse.org/bugs/buglist.cgi?product=AspectJ&component=Doc&bug_status=UNCONFIRMED&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED[documentation],
and
-http://bugs.eclipse.org/bugs/buglist.cgi?product=AspectJ&component=Ant&bug_status=UNCONFIRMED&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED[Ant
+https://bugs.eclipse.org/bugs/buglist.cgi?product=AspectJ&component=Ant&bug_status=UNCONFIRMED&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED[Ant
tasks]. Developers should know about bugs marked with the "info" keyword
because those bugs reflect failures to implement the 1.1 language
perfectly. These might be fixed during the 1.1 release cycle; find them
using the query
-http://bugs.eclipse.org/bugs/buglist.cgi?product=AspectJ&keywords=info
+https://bugs.eclipse.org/bugs/buglist.cgi?product=AspectJ&keywords=info
For ajc's 1.1 implementation limitations, see
link:progguide/implementation.html[Programming Guide Appendix:
"Implementation Notes"].
will have full eager parsing support that avoids the need to keep the
whole structure model of a project in memory, hopefully making AJDT much
less memory hungry and much slicker to use. For more details see the
-http://www.eclipse.org/ajdt[AJDT project website].
+https://www.eclipse.org/ajdt[AJDT project website].
'''''
Some of the other documentation has not been updated for AspectJ 5. For
the latest documentation, see
-http://eclipse.org/aspectj/doc/next/index.html, linked off
-http://eclipse.org/aspectj/docs.php[the AspectJ documentation home page].
+https://eclipse.org/aspectj/doc/next/index.html, linked off
+https://eclipse.org/aspectj/docs.php[the AspectJ documentation home page].
For information on bug fixes in AspectJ 5 v1.5.0, see the
link:changes.html[changes] document.
added a tracing and logging framework and improved our dump mechanism.
These traces and dumps can be attached to bug reports. In AspectJ 1.5.3
we have included some
-http://www.eclipse.org/aspectj/doc/released/pdguide/index.html[documentation]
+https://www.eclipse.org/aspectj/doc/released/pdguide/index.html[documentation]
on how to configure these new features. Don't be surprised if you get
asked for an AspectJ trace on a future bug report!
result is that the compiler will more frequently do an incremental build
rather than falling back to doing a full build. Some basic performance
findings can be seen in
-http://dev.eclipse.org/mhonarc/lists/aspectj-users/msg09002.html[this
+https://dev.eclipse.org/mhonarc/lists/aspectj-users/msg09002.html[this
mailing list post].
==== Parameter annotation matching
them down in AJDT. If you want to see numbers like those above you need
to install the latest AJDT dev builds for Eclipse 3.4 (an AJDT 1.6.1 dev
build from the dev update site:
-http://download.eclipse.org/tools/ajdt/34/dev/update ) and then after
+https://download.eclipse.org/tools/ajdt/34/dev/update ) and then after
starting Eclipse, select 'Window>Preferences' and in the AspectJ tab
select 'Incremental Compiler Optimizations'. Let us know how you get on!
When it has had enough testing it will be made the default and then is
surface as benefits in AJDT, possibly leading to better LTW tooling.
Some improved syntax for intertype declarations is a possible candidate
feature (see discussion in
-http://dev.eclipse.org/mhonarc/lists/aspectj-users/msg10208.html[this
+https://dev.eclipse.org/mhonarc/lists/aspectj-users/msg10208.html[this
mailing list thread]). A possible introduction of a code style syntax
for the mixin style that is @DeclareParents (and a renaming of
@DeclareParents to perhaps DeclareMixin or DeclareDelegate).
....
More examples are
-http://www.eclipse.org/aspectj/doc/released/adk15notebook/ataspectj-itds.html[here
+https://www.eclipse.org/aspectj/doc/released/adk15notebook/ataspectj-itds.html[here
in the online documentation].
Going forward attempts will be made to try and make @DeclareParents
Java^TM^. The compiler and development tools are available
under an open-source license, require Java 1.3 to run, and produce code
that runs in JDK 1.1 and later VM's. For the latest materials, see
-http://eclipse.org/aspectj. Not all of these materials have been updated
+https://eclipse.org/aspectj. Not all of these materials have been updated
for AspectJ 5.
[cols=",",]
link:runtime-api/index.html[API] and link:examples/[example code].
|xref:#distributions[distributions]
-|http://eclipse.org/aspectj[AspectJ]; development environment support
-for http://eclipse.org/ajdt[Eclipse].
+|https://eclipse.org/aspectj[AspectJ]; development environment support
+for https://eclipse.org/ajdt[Eclipse].
|xref:#resources[resources] |http://aosd.net[aosd.net];
-http://eclipse.org/aspectj[AspectJ project] the bug
-http://bugs.eclipse.org/bugs[db], and mailing lists for
+https://eclipse.org/aspectj[AspectJ project] the bug
+https://bugs.eclipse.org/bugs[db], and mailing lists for
mailto:aspectj-users@eclipse.org[users] and
mailto:aspectj-dev@eclipse.org[developers].
[cols=",",options="header",]
|===
|Distributions |Description
-|http://eclipse.org/aspectj[AspectJ] |The AspectJ distribution contains
+|https://eclipse.org/aspectj[AspectJ] |The AspectJ distribution contains
binaries for the compiler, structure browser, and Ant taskdefs, as well
as the documentation and examples.
-|http://eclipse.org/aspectj[AspectJ] source code |Source code for
+|https://eclipse.org/aspectj[AspectJ] source code |Source code for
AspectJ is available under the open-source
https://www.eclipse.org/org/documents/epl-2.0/EPL-2.0.txt[Eclipse Public
License v 2.0] license from the Git repositories for the AspectJ
project. See the faq.html#q:buildingsource[FAQ entry].
-|http://eclipse.org/ajdt[AspectJ for Eclipse] |AspectJ Development
+|https://eclipse.org/ajdt[AspectJ for Eclipse] |AspectJ Development
Environment support for Eclipse is available under Eclipse Public
-License v 1.0 from the eclipse.org project site http://eclipse.org/ajdt
+License v 1.0 from the eclipse.org project site https://eclipse.org/ajdt
|===
[[resources]]
aspectj-dev@eclipse.org. To get occasional emails about AspectJ releases
and relevant events, subscribe to aspectj-announce@eclipse.org. To view
list archives or subscribe to the list, go to
-http://eclipse.org/aspectj[the AspectJ home page]. To find archived
+https://eclipse.org/aspectj[the AspectJ home page]. To find archived
emails, use the Eclipse site
-http://www.eclipse.org/search/search.cgi[search page].
+https://www.eclipse.org/search/search.cgi[search page].
-|http://bugs.eclipse.org/bugs[Bug database] |Use the Eclipse project's
+|https://bugs.eclipse.org/bugs[Bug database] |Use the Eclipse project's
Bugzilla database to view and submit bugs against the AspectJ product
components
-http://bugs.eclipse.org/bugs/buglist.cgi?product=AspectJ&component=Compiler[Compiler]
+https://bugs.eclipse.org/bugs/buglist.cgi?product=AspectJ&component=Compiler[Compiler]
(for the AspectJ compiler, ajc)
-http://bugs.eclipse.org/bugs/buglist.cgi?product=AspectJ&component=IDE[IDE]
+https://bugs.eclipse.org/bugs/buglist.cgi?product=AspectJ&component=IDE[IDE]
(for AJBrowser and AJDE bugs),
-http://bugs.eclipse.org/bugs/buglist.cgi?product=AspectJ&component=Ant[Ant]
+https://bugs.eclipse.org/bugs/buglist.cgi?product=AspectJ&component=Ant[Ant]
(for the Ant tasks), and
-http://bugs.eclipse.org/bugs/buglist.cgi?product=AspectJ&component=Docs[Docs]
+https://bugs.eclipse.org/bugs/buglist.cgi?product=AspectJ&component=Docs[Docs]
(for the documentation). Bugs all users should know about are
-http://bugs.eclipse.org/bugs/buglist.cgi?product=AspectJ&keywords=info[flagged
+https://bugs.eclipse.org/bugs/buglist.cgi?product=AspectJ&keywords=info[flagged
with the "info" keyword]. See the faq.html#q:ajcbugs[FAQ entry] for
instructions on submitting compiler bugs.
link:examples/[examples] work, see the
link:progguide/examples.html[Examples] section in the
link:progguide/index.html[Programming Guide]. View and navigate the
-crosscutting structure using http://eclipse.org/ajdt[AJDT]; if you can't
+crosscutting structure using https://eclipse.org/ajdt[AJDT]; if you can't
use Eclipse, try the `ajbrowser` structure viewer, as described in the
link:devguide/ajbrowser.html[AspectJ Browser] section of the
link:devguide/index.html[Development Environment Guide].
an open-source license, require Java 1.3 to run, and produce
code that runs in JDK 1.1 and later VM's.
For the latest materials, see
- <a href="http://eclipse.org/aspectj">http://eclipse.org/aspectj</a>.
+ <a href="https://eclipse.org/aspectj">https://eclipse.org/aspectj</a>.
Not all of these materials have been updated for AspectJ 5.
<p/>
<a href="examples/">example code</a>.
</td></tr>
<tr><td><a href="#distributions">distributions</a></td><td>
- <a href="http://eclipse.org/aspectj">AspectJ</a>;
+ <a href="https://eclipse.org/aspectj">AspectJ</a>;
development environment support for
- <a href="http://eclipse.org/ajdt">Eclipse</a>
+ <a href="https://eclipse.org/ajdt">Eclipse</a>
and
<a href="https://jdeveloperaop.dev.java.net/">JDeveloper</a>.
</td></tr>
<tr><td><a href="#resources">resources</a></td><td>
<a href="http://aosd.net">aosd.net</a>;
- <a href="http://eclipse.org/aspectj">AspectJ project</a>
- the bug <a href="http://bugs.eclipse.org/bugs">db</a>,
+ <a href="https://eclipse.org/aspectj">AspectJ project</a>
+ the bug <a href="https://bugs.eclipse.org/bugs">db</a>,
and mailing lists for
<a href="mailto:aspectj-users@eclipse.org">users</a> and
<a href="mailto:aspectj-dev@eclipse.org">developers</a>.
<h3>AspectJ distributions</h3>
<table border="1">
<tr> <th>Distributions</th><th>Description</th></tr>
-<tr> <td><a href="http://eclipse.org/aspectj">AspectJ</a>
+<tr> <td><a href="https://eclipse.org/aspectj">AspectJ</a>
</td>
<td>The AspectJ distribution contains binaries for the
compiler, structure browser, and Ant taskdefs,
as well as the documentation and examples.
</td>
</tr>
-<tr> <td><a href="http://eclipse.org/aspectj">AspectJ</a> source code
+<tr> <td><a href="https://eclipse.org/aspectj">AspectJ</a> source code
</td>
<td>Source code for AspectJ is available
under the open-source
</td>
</tr>
-<tr> <td><a href="http://eclipse.org/ajdt">AspectJ for Eclipse</a>
+<tr> <td><a href="https://eclipse.org/ajdt">AspectJ for Eclipse</a>
</td>
<td>AspectJ Development Environment support for
Eclipse is available under Eclipse Public License v 1.0
from the eclipse.org project site
- <a href="http://eclipse.org/ajdt">
- http://eclipse.org/ajdt</a>
+ <a href="https://eclipse.org/ajdt">
+ https://eclipse.org/ajdt</a>
</td>
</tr>
and relevant events, subscribe to
<tt>aspectj-announce@eclipse.org</tt>.
To view list archives or subscribe to the list, go to
- <a href="http://eclipse.org/aspectj">
+ <a href="https://eclipse.org/aspectj">
the AspectJ home page</a>.
To find archived emails, use the Eclipse site
- <a href="http://www.eclipse.org/search/search.cgi">search page</a>.
+ <a href="https://www.eclipse.org/search/search.cgi">search page</a>.
</td></tr>
-<tr> <td><a href="http://bugs.eclipse.org/bugs">Bug database</a>
+<tr> <td><a href="https://bugs.eclipse.org/bugs">Bug database</a>
</td>
<td>Use the Eclipse project's Bugzilla database
to view and submit bugs against the AspectJ product components
- <a href="http://bugs.eclipse.org/bugs/buglist.cgi?product=AspectJ&component=Compiler">
+ <a href="https://bugs.eclipse.org/bugs/buglist.cgi?product=AspectJ&component=Compiler">
Compiler</a> (for the AspectJ compiler, ajc)
- <a href="http://bugs.eclipse.org/bugs/buglist.cgi?product=AspectJ&component=IDE">
+ <a href="https://bugs.eclipse.org/bugs/buglist.cgi?product=AspectJ&component=IDE">
IDE</a> (for AJBrowser and AJDE bugs),
- <a href="http://bugs.eclipse.org/bugs/buglist.cgi?product=AspectJ&component=Ant">
+ <a href="https://bugs.eclipse.org/bugs/buglist.cgi?product=AspectJ&component=Ant">
Ant</a> (for the Ant tasks),
and
- <a href="http://bugs.eclipse.org/bugs/buglist.cgi?product=AspectJ&component=Docs">
+ <a href="https://bugs.eclipse.org/bugs/buglist.cgi?product=AspectJ&component=Docs">
Docs</a> (for the documentation).
Bugs all users should know about are
- <a href="http://bugs.eclipse.org/bugs/buglist.cgi?product=AspectJ&keywords=info">
+ <a href="https://bugs.eclipse.org/bugs/buglist.cgi?product=AspectJ&keywords=info">
flagged with the "info" keyword</a>.
See the
<a href="faq.html#q:ajcbugs">
see the <a href="progguide/examples.html">Examples </a> section
in the <a href="progguide/index.html">Programming Guide</a>.
View and navigate the crosscutting structure using
- <a href="http://eclipse.org/ajdt">AJDT (AspectJ Development Tools)
+ <a href="https://eclipse.org/ajdt">AJDT (AspectJ Development Tools)
in Eclipse IDE</a>. IntelliJ IDEA also offers AspectJ and Spring AOP
support.
<p/>
License v 2.0].
AspectJ 1.5.2 through 1.9.6 source code and documentation is available
-under the http://www.eclipse.org/org/documents/epl-v10.php[Eclipse
+under the https://www.eclipse.org/org/documents/epl-v10.php[Eclipse
Public License v 1.0].
AspectJ 1.1 through 1.5.1 source code and documentation is available
-under the http://eclipse.org/legal/cpl-v10.html[Common Public License
+under the https://eclipse.org/legal/cpl-v10.html[Common Public License
1.0].
The AspectJ 1.0 tools are open-source software available under the
Public License].
For answers to common licensing questions, see the
-http://www.eclipse.org/legal/eplfaq.php[Eclipse Public License FAQ].
+https://www.eclipse.org/legal/eplfaq.php[Eclipse Public License FAQ].
*Q:* What is the AspectJ Project?
Xerox, a U.S. Government grant (NISTATP), and a DARPA contract.
It has evolved through open-source releases to a strong user community
-and now operates as an open source project at http://eclipse.org/aspectj
+and now operates as an open source project at https://eclipse.org/aspectj
The AspectJ team works closely with the community to ensure AspectJ
continues to evolve as an effective aspect-oriented programming language
and tool set.
The latest release is 1.2 which can be downloaded from the
-http://eclipse.org/aspectj[AspectJ project page], including sources as
+https://eclipse.org/aspectj[AspectJ project page], including sources as
described #q:buildingsource[Q:How do I get and compile the source code
for AspectJ?]. Development is focused on supporting applications,
improving quality and performance, enhancing integration with IDE's, and
*Q:* How do I download and install AspectJ?
-*A:* From AspectJ's http://eclipse.org/aspectj[web page] , download the
+*A:* From AspectJ's https://eclipse.org/aspectj[web page] , download the
AspectJ distribution. The `jar` file is installed by executing
[source, text]
tool integrations:
* Eclipse (version 2.0) in the Eclipse AspectJ Development Tools project
-http://eclipse.org/ajdt
+https://eclipse.org/ajdt
* Emacs (GNU version 20.3) and XEmacs (version 21.1 on Unix and 21.4 on
Windows), in the SourceForge AspectJ for Emacs project
http://aspectj4emacs.sourceforge.net
reflection-dependent programs, see the sample code linked off the
AspectJ documentation page or the examples discussed on the mailing
list, e.g.,
-http://dev.eclipse.org/mhonarc/lists/aspectj-users/msg02151.html[Incremental
+https://dev.eclipse.org/mhonarc/lists/aspectj-users/msg02151.html[Incremental
and runtime weaving support?].
*Q:* What is the relationship between AOP and XP (extreme programming
To find out about known issues, see the
link:progguide/implementation.html[AspectJ Programming Guide Appendix,
"Implementation Notes"] and the AspectJ bugs in the database at
-http://bugs.eclipse.org/bugs (using the product `AspectJ`). Here are
+https://bugs.eclipse.org/bugs (using the product `AspectJ`). Here are
direct links to
-http://bugs.eclipse.org/bugs/buglist.cgi?product=AspectJ&component=Compiler&bug_status=UNCONFIRMED&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED[view
+https://bugs.eclipse.org/bugs/buglist.cgi?product=AspectJ&component=Compiler&bug_status=UNCONFIRMED&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED[view
open compiler bugs],
-http://bugs.eclipse.org/bugs/buglist.cgi?product=AspectJ[view all
+https://bugs.eclipse.org/bugs/buglist.cgi?product=AspectJ[view all
Aspectj bugs (open or closed)], or
-http://bugs.eclipse.org/bugs/enter_bug.cgi?product=AspectJ[add new
+https://bugs.eclipse.org/bugs/enter_bug.cgi?product=AspectJ[add new
bugs].
*Q:* What mailing lists are there?
technology with other technologies.
For both mailing lists, only subscribed members may post messages. To
-subscribe, visit the http://eclipse.org/aspectj[AspectJ web site].
+subscribe, visit the https://eclipse.org/aspectj[AspectJ web site].
There you can also subscribe to `aspectj-announce@eclipse.org`, a
low-traffic list containing only announcements about significant AspectJ
*A:* The AspectJ team directly provided components for JBuilder, Forte,
and Emacs and supported the open-source AspectJ plugin project at
-http://eclipse.org/ajdt which uses the AJDE API support for IDE's.
+https://eclipse.org/ajdt which uses the AJDE API support for IDE's.
Supporting new IDE's is a matter of building on the AJDE API's, mostly
likely adopting one of the existing open-source IDE extensions as a
design template. Here are the IDE's where we know people have expressed
*A:* Yes. The core AJDE API is extensible and the source code is
available for download. Start by studying the sources for the existing
-IDE support linked off the AspectJ site http://eclipse.org/aspectj.
+IDE support linked off the AspectJ site https://eclipse.org/aspectj.
*Q:* I want the aspects for development builds but remove them for
production builds. How can I set up the build system so they are
. There is a community repository of sample code and tutorials in the
AspectJ CVS tree `docs` module `sandbox` directory. These are extracted
and published (online only)
-http://dev.eclipse.org/viewcvs/indextech.cgi/~checkout~/aspectj-home/sample-code.html[here]
+https://dev.eclipse.org/viewcvs/indextech.cgi/~checkout~/aspectj-home/sample-code.html[here]
.
. The `teaching` directory of the `docs` module contains public
materials the AspectJ committers use for presentations, some of which
*A:* The bugs affecting the semantics of the language are marked with
the "info" keyword. Find them with the query
-http://bugs.eclipse.org/bugs/buglist.cgi?product=AspectJ&keywords=info
+https://bugs.eclipse.org/bugs/buglist.cgi?product=AspectJ&keywords=info
*Q:* What extra memory is required at runtime?
Hugunin did draft a paper for AOSD 2004, now available on Jim's web
site: http://hugunin.net/papers.html Jim summarized advice weaving in
the AspectJ 1.1 implementation in the
-http://dev.eclipse.org/mhonarc/lists/aspectj-dev/msg00519.html[following
+https://dev.eclipse.org/mhonarc/lists/aspectj-dev/msg00519.html[following
mailing-list reply]:
Each piece of advice in an aspect is associated with a pointcut. This
Find them by searching open compiler bugs and picking out any which do
not have test case attachments or a comment that a test case has been
written. Here is a query for open compiler bugs:
-http://bugs.eclipse.org/bugs/buglist.cgi?product=AspectJ&component=Compiler&bug_status=UNCONFIRMED&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED
+https://bugs.eclipse.org/bugs/buglist.cgi?product=AspectJ&component=Compiler&bug_status=UNCONFIRMED&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED
+
For how to write test cases, see #q:harnesstestcases[Q:How should I
submit test cases for bugs?].
AspectJ 1.1+ source code is available through CVS using the CVS Root
`dev.eclipse.org:/cvsroot/technology`. For more information on accessing
the CVS tree at eclipse.org, see the documentation from
-http://eclipse.org. Find specific instructions in the AspectJ tree at
-http://dev.eclipse.org/viewcvs/index.cgi/~checkout~/org.aspectj/modules/build/readme-build-and-test-aspectj.html?rev=HEAD&content-type=text/html&cvsroot=Technology_Project[org.aspectj/modules/build/readme-build-and-test-aspectj.html].
+https://eclipse.org. Find specific instructions in the AspectJ tree at
+https://dev.eclipse.org/viewcvs/index.cgi/~checkout~/org.aspectj/modules/build/readme-build-and-test-aspectj.html?rev=HEAD&content-type=text/html&cvsroot=Technology_Project[org.aspectj/modules/build/readme-build-and-test-aspectj.html].
If you would like to use Ant to checkout the sources, build the
distribution, and test everything, see
-http://dev.eclipse.org/viewcvs/index.cgi/~checkout~/org.aspectj/modules/build/release/build.xml?rev=HEAD&content-type=text/xml&cvsroot=Technology_Project[org.aspectj/modules/build/release/build.xml].
+https://dev.eclipse.org/viewcvs/index.cgi/~checkout~/org.aspectj/modules/build/release/build.xml?rev=HEAD&content-type=text/xml&cvsroot=Technology_Project[org.aspectj/modules/build/release/build.xml].
To check out the source code in Eclipse go to
(`File > new > Other > CVS > Checkout Projects from CVS`). You'll need
The `org.aspectj.lib` project is an AspectJ project so you also have to
have AJDT installed. For the latest AJDT release and download
-instructions visit the http://www.eclipse.org/ajdt/downloads/[AJDT
+instructions visit the https://www.eclipse.org/ajdt/downloads/[AJDT
Downloads] page.
When you've added the variables click OK to do a full rebuild, then run
`your_eclipse_installation_directory/aspectj_development_workspace/aj-build`.
To import a locally built AspectJ into AJDT first follow the
-instructions on http://www.eclipse.org/ajdt/faq.php#q:develop[How do I
+instructions on https://www.eclipse.org/ajdt/faq.php#q:develop[How do I
setup an AJDT development environment in Eclipse?] for setting up an
AJDT development environment and running the correctness tests. Then:
*Q:* How do I find out more about AspectJ?
-*A:* Visit the AspectJ project web site: http://eclipse.org/aspectj.
+*A:* Visit the AspectJ project web site: https://eclipse.org/aspectj.
*Q:* How do I submit a bug report?
*A:* You can submit a bug from
-http://bugs.eclipse.org/bugs/enter_bug.cgi?product=AspectJ . If it seems
+https://bugs.eclipse.org/bugs/enter_bug.cgi?product=AspectJ . If it seems
to be a bug in the compiler, please attach a small test case (source
code) to reproduce the problem. For more information on writing compiler
test cases, see #q:ajcbugs[Q:How do I write bugs for the AspectJ
*A:* You can reach other AspectJ users by using the aspectj-users
mailing list. You can subscribe to the list or view the list archives
-from the AspectJ home page http://eclipse.org/aspectj .
+from the AspectJ home page https://eclipse.org/aspectj .
*Q:* How can I search the email archives or the web site?
*A:* It is very effective to do a google search of the form,
http://www.google.com/search?q=site:eclipse.org+cflowbelow , and you can
-use the eclipse.org search at http://www.eclipse.org/search/search.cgi .
+use the eclipse.org search at https://www.eclipse.org/search/search.cgi .
You can also check the old archives available for download from the
-AspectJ home page http://eclipse.org/aspectj .
+AspectJ home page https://eclipse.org/aspectj .
*Q:* How should I write email queries?
listed in #q:integrateWithDevTools[Q: How well does AspectJ integrate
with existing Java development tools?] (including bug reports for the
AJDE Eclipse support, which you can submit at
-http://bugs.eclipse.org/bugs/enter_bug.cgi?product=AJDT ).
+https://bugs.eclipse.org/bugs/enter_bug.cgi?product=AJDT ).
Bug reports on ajbrowser should have version information for both Java
and AspectJ, and (most importantly) clear steps for reproducing the bug.
You may submit ajbrowser bugs against the IDE component of AspectJ via
-the web form http://bugs.eclipse.org/bugs/enter_bug.cgi?product=AspectJ.
+the web form https://bugs.eclipse.org/bugs/enter_bug.cgi?product=AspectJ.
One of the benefits of open-source is that you can find and fix the bug
for yourself; when you submit the fix back to us, we can validate the
sure to specify the expected output/behavior (e.g., compiler error on
line 32) and, if the compile should complete, the main class to run.
. Submit the bugs via the web form
-http://bugs.eclipse.org/bugs/enter_bug.cgi?product=AspectJ .
+https://bugs.eclipse.org/bugs/enter_bug.cgi?product=AspectJ .
. Attach the test case to the bug. The test case may be a single file or
it may be multiple files in a single zip archive, of the form discussed
in #q:harnesstestcases[Q:How should I submit test cases for bugs?].
*A:* Below is a table describing the goals for the major releases. For
information about specific features, search the bug database for ``RFE``'s
("requests for enhancement") by
-http://bugs.eclipse.org/bugs/buglist.cgi?product=AspectJ&bug_severity=enhancement[selecting
+https://bugs.eclipse.org/bugs/buglist.cgi?product=AspectJ&bug_severity=enhancement[selecting
severity of "enhancement"]. Like many open-source projects, we don't
make or promise schedules, but we do follow a pattern of issuing preview
releases which can give observers an idea of when a particular release
<ulink url="https://www.eclipse.org/org/documents/epl-2.0/EPL-2.0.txt">Eclipse Public License v 2.0</ulink>.
</para>
<para>AspectJ 1.5.2 through 1.9.6 source code and documentation is available under the
- <ulink url="http://www.eclipse.org/org/documents/epl-v10.php">Eclipse Public License v 1.0</ulink>.
+ <ulink url="https://www.eclipse.org/org/documents/epl-v10.php">Eclipse Public License v 1.0</ulink>.
</para>
<para>AspectJ 1.1 through 1.5.1 source code and documentation is available under the
- <ulink url="http://eclipse.org/legal/cpl-v10.html">Common Public License 1.0</ulink>.
+ <ulink url="https://eclipse.org/legal/cpl-v10.html">Common Public License 1.0</ulink>.
</para>
<para>The AspectJ 1.0 tools are open-source software available under the
<ulink url="http://www.opensource.org/licenses/mozilla1.1">Mozilla Public License 1.1</ulink>.
<ulink url="https://www.eclipse.org/org/documents/epl-2.0/EPL-2.0.txt">Eclipse Public License</ulink>.
</para>
<para>For answers to common licensing questions, see the
- <ulink url="http://www.eclipse.org/legal/eplfaq.php">Eclipse Public License FAQ</ulink>.
+ <ulink url="https://www.eclipse.org/legal/eplfaq.php">Eclipse Public License FAQ</ulink>.
</para>
<para>
</para>
<para>It has evolved through open-source releases
to a strong user community and now operates as an
open source project at
- <ulink url="http://eclipse.org/aspectj">
- http://eclipse.org/aspectj</ulink>
+ <ulink url="https://eclipse.org/aspectj">
+ https://eclipse.org/aspectj</ulink>
The AspectJ team works closely with the community
to ensure AspectJ continues to evolve as an effective
aspect-oriented programming language and tool set.
<para>
The latest release is 1.2 <!-- XXX todo Update me! -->
which can be downloaded from the
- <ulink url="http://eclipse.org/aspectj">AspectJ project page</ulink>,
+ <ulink url="https://eclipse.org/aspectj">AspectJ project page</ulink>,
including sources as described
<xref linkend="q:buildingsource"/>.
Development is focused on supporting applications,
</question>
<answer>
<para>From AspectJ's
- <ulink url="http://eclipse.org/aspectj">web page
+ <ulink url="https://eclipse.org/aspectj">web page
</ulink>, download the AspectJ distribution.
The <literal>jar</literal> file is installed by executing
</para>
<listitem>
<para>Eclipse (version 2.0)
in the Eclipse AspectJ Development Tools project
- <ulink url="http://eclipse.org/ajdt">
- http://eclipse.org/ajdt
+ <ulink url="https://eclipse.org/ajdt">
+ https://eclipse.org/ajdt
</ulink>
</para>
</listitem>
For AspectJ examples of configurable or reflection-dependent programs,
see the sample code linked off the AspectJ documentation page
or the examples discussed on the mailing list, e.g.,
- <ulink url="http://dev.eclipse.org/mhonarc/lists/aspectj-users/msg02151.html">
+ <ulink url="https://dev.eclipse.org/mhonarc/lists/aspectj-users/msg02151.html">
Incremental and runtime weaving support?</ulink>.
</para>
</answer>
<ulink url="progguide/implementation.html">
AspectJ Programming Guide Appendix, "Implementation Notes"</ulink>
and the AspectJ bugs in the database at
- <ulink url="http://bugs.eclipse.org/bugs">http://bugs.eclipse.org/bugs</ulink>
+ <ulink url="https://bugs.eclipse.org/bugs">https://bugs.eclipse.org/bugs</ulink>
(using the product <literal>AspectJ</literal>). Here are direct links to
- <ulink url="http://bugs.eclipse.org/bugs/buglist.cgi?product=AspectJ&component=Compiler&bug_status=UNCONFIRMED&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED">
+ <ulink url="https://bugs.eclipse.org/bugs/buglist.cgi?product=AspectJ&component=Compiler&bug_status=UNCONFIRMED&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED">
view open compiler bugs</ulink>,
- <ulink url="http://bugs.eclipse.org/bugs/buglist.cgi?product=AspectJ">
+ <ulink url="https://bugs.eclipse.org/bugs/buglist.cgi?product=AspectJ">
view all Aspectj bugs (open or closed)</ulink>, or
- <ulink url="http://bugs.eclipse.org/bugs/enter_bug.cgi?product=AspectJ">
+ <ulink url="https://bugs.eclipse.org/bugs/enter_bug.cgi?product=AspectJ">
add new bugs</ulink>.
</para>
</answer>
<para>
For both mailing lists, only subscribed members may post messages.
To subscribe, visit the
- <ulink url="http://eclipse.org/aspectj">AspectJ web site</ulink>.
+ <ulink url="https://eclipse.org/aspectj">AspectJ web site</ulink>.
</para>
<para>
There you can also subscribe to
<para>
The AspectJ team directly provided components for JBuilder, Forte,
and Emacs and supported the open-source AspectJ plugin project
- at <ulink url="http://eclipse.org/ajdt">http://eclipse.org/ajdt</ulink>
+ at <ulink url="https://eclipse.org/ajdt">https://eclipse.org/ajdt</ulink>
which uses the AJDE API support for IDE's.
Supporting new IDE's is a matter of building on the AJDE API's,
mostly likely adopting one of the existing open-source IDE
<para>Yes. The core AJDE API is extensible and the source code is
available for download. Start by studying the sources
for the existing IDE support linked off the AspectJ site
- <ulink url="http://eclipse.org/aspectj">http://eclipse.org/aspectj</ulink>.
+ <ulink url="https://eclipse.org/aspectj">https://eclipse.org/aspectj</ulink>.
</para>
</answer>
</qandaentry>
in the AspectJ CVS tree
<literal>docs</literal> module <literal>sandbox</literal> directory.
These are extracted and published (online only)
- <ulink url="http://dev.eclipse.org/viewcvs/indextech.cgi/~checkout~/aspectj-home/sample-code.html">
+ <ulink url="https://dev.eclipse.org/viewcvs/indextech.cgi/~checkout~/aspectj-home/sample-code.html">
here
</ulink>.
</para></listitem>
<para>The bugs affecting the semantics of the language
are marked with the "info" keyword. Find them with
the query
- <ulink url="http://bugs.eclipse.org/bugs/buglist.cgi?product=AspectJ&keywords=info">
- http://bugs.eclipse.org/bugs/buglist.cgi?product=AspectJ&keywords=info
+ <ulink url="https://bugs.eclipse.org/bugs/buglist.cgi?product=AspectJ&keywords=info">
+ https://bugs.eclipse.org/bugs/buglist.cgi?product=AspectJ&keywords=info
</ulink>
</para>
</answer>
<ulink url="http://hugunin.net/papers.html">
http://hugunin.net/papers.html</ulink>
Jim summarized advice weaving in the AspectJ 1.1 implementation in the
- <ulink url="http://dev.eclipse.org/mhonarc/lists/aspectj-dev/msg00519.html">
+ <ulink url="https://dev.eclipse.org/mhonarc/lists/aspectj-dev/msg00519.html">
following mailing-list reply</ulink>:
</para>
<para>
a test case has been written.
Here is a query for open compiler bugs:
<!-- ulink gacks on ampersands in url value, so quote them -->
- <ulink url="http://bugs.eclipse.org/bugs/buglist.cgi?product=AspectJ&component=Compiler&bug_status=UNCONFIRMED&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED">
- http://bugs.eclipse.org/bugs/buglist.cgi?product=AspectJ&component=Compiler&bug_status=UNCONFIRMED&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED
+ <ulink url="https://bugs.eclipse.org/bugs/buglist.cgi?product=AspectJ&component=Compiler&bug_status=UNCONFIRMED&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED">
+ https://bugs.eclipse.org/bugs/buglist.cgi?product=AspectJ&component=Compiler&bug_status=UNCONFIRMED&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED
</ulink>
</para>
<para>For how to write test cases, see
CVS Root <literal>dev.eclipse.org:/cvsroot/technology</literal>.
For more information on accessing the CVS tree at eclipse.org,
see the documentation from <ulink
- url="http://eclipse.org">http://eclipse.org</ulink>. Find
+ url="https://eclipse.org">https://eclipse.org</ulink>. Find
specific instructions in the AspectJ tree at <ulink
- url="http://dev.eclipse.org/viewcvs/index.cgi/~checkout~/org.aspectj/modules/build/readme-build-and-test-aspectj.html?rev=HEAD&content-type=text/html&cvsroot=Technology_Project">
+ url="https://dev.eclipse.org/viewcvs/index.cgi/~checkout~/org.aspectj/modules/build/readme-build-and-test-aspectj.html?rev=HEAD&content-type=text/html&cvsroot=Technology_Project">
org.aspectj/modules/build/readme-build-and-test-aspectj.html</ulink>.
If you would like to use Ant to checkout the sources, build the
distribution, and test everything, see <ulink
- url="http://dev.eclipse.org/viewcvs/index.cgi/~checkout~/org.aspectj/modules/build/release/build.xml?rev=HEAD&content-type=text/xml&cvsroot=Technology_Project">
+ url="https://dev.eclipse.org/viewcvs/index.cgi/~checkout~/org.aspectj/modules/build/release/build.xml?rev=HEAD&content-type=text/xml&cvsroot=Technology_Project">
org.aspectj/modules/build/release/build.xml</ulink>. </para>
<para>
To check out the source code in Eclipse go to (<literal>File > new > Other > CVS > Checkout Projects from CVS</literal>). You'll need about 125 MB of space for the source and build.
The <literal>org.aspectj.lib</literal> project is an AspectJ project so
you also have to have AJDT installed. For the latest AJDT release and
download instructions visit the
- <ulink url="http://www.eclipse.org/ajdt/downloads/">AJDT Downloads</ulink> page.
+ <ulink url="https://www.eclipse.org/ajdt/downloads/">AJDT Downloads</ulink> page.
</para>
<para>
When you've added the variables click OK to do a full rebuild, then run the tests by going in the Package Explorer to:
</para>
<para>
To import a locally built AspectJ into AJDT first follow the
- instructions on <ulink url="http://www.eclipse.org/ajdt/faq.php#q:develop">
+ instructions on <ulink url="https://www.eclipse.org/ajdt/faq.php#q:develop">
How do I setup an AJDT development environment in Eclipse?</ulink>
for setting up an AJDT development environment and running the
correctness tests. Then:
</question>
<answer>
<para>Visit the AspectJ project web site:
- <ulink url="http://eclipse.org/aspectj">http://eclipse.org/aspectj</ulink>.
+ <ulink url="https://eclipse.org/aspectj">https://eclipse.org/aspectj</ulink>.
</para>
</answer>
</qandaentry>
</question>
<answer>
<para>You can submit a bug from
- <ulink url="http://bugs.eclipse.org/bugs/enter_bug.cgi?product=AspectJ">
- http://bugs.eclipse.org/bugs/enter_bug.cgi?product=AspectJ
+ <ulink url="https://bugs.eclipse.org/bugs/enter_bug.cgi?product=AspectJ">
+ https://bugs.eclipse.org/bugs/enter_bug.cgi?product=AspectJ
</ulink>.
If it seems to be a bug in the compiler,
please attach a small test case (source code)
<para>You can reach other AspectJ users by using the
aspectj-users mailing list. You can subscribe to the list or view the
list archives from the AspectJ home page
- <ulink url="http://eclipse.org/aspectj">
- http://eclipse.org/aspectj
+ <ulink url="https://eclipse.org/aspectj">
+ https://eclipse.org/aspectj
</ulink>.
</para>
</answer>
http://www.google.com/search?q=site:eclipse.org+cflowbelow
</ulink>,
and you can use the eclipse.org search at
- <ulink url="http://www.eclipse.org/search/search.cgi">
- http://www.eclipse.org/search/search.cgi
+ <ulink url="https://www.eclipse.org/search/search.cgi">
+ https://www.eclipse.org/search/search.cgi
</ulink>.
You can also check the old archives available for download from
the AspectJ home page
- <ulink url="http://eclipse.org/aspectj">
- http://eclipse.org/aspectj
+ <ulink url="https://eclipse.org/aspectj">
+ https://eclipse.org/aspectj
</ulink>.
</para>
</answer>
<xref linkend="q:integrateWithDevTools"/>
(including bug reports for the AJDE Eclipse support,
which you can submit at
- <ulink url="http://bugs.eclipse.org/bugs/enter_bug.cgi?product=AJDT">
- http://bugs.eclipse.org/bugs/enter_bug.cgi?product=AJDT
+ <ulink url="https://bugs.eclipse.org/bugs/enter_bug.cgi?product=AJDT">
+ https://bugs.eclipse.org/bugs/enter_bug.cgi?product=AJDT
</ulink>).
</para>
<para>
<listitem>
<para>
Submit the bugs via the web form
- <ulink url="http://bugs.eclipse.org/bugs/enter_bug.cgi?product=AspectJ">
- http://bugs.eclipse.org/bugs/enter_bug.cgi?product=AspectJ
+ <ulink url="https://bugs.eclipse.org/bugs/enter_bug.cgi?product=AspectJ">
+ https://bugs.eclipse.org/bugs/enter_bug.cgi?product=AspectJ
</ulink>.
</para>
</listitem>
Below is a table describing the goals for the major releases.
For information about specific features, search the bug database
for <literal>RFE</literal>'s ("requests for enhancement") by
- <ulink url="http://bugs.eclipse.org/bugs/buglist.cgi?product=AspectJ&bug_severity=enhancement">
+ <ulink url="https://bugs.eclipse.org/bugs/buglist.cgi?product=AspectJ&bug_severity=enhancement">
selecting severity of "enhancement"</ulink>.
Like many open-source projects, we don't make or promise
<para>
The examples source code is part of the AspectJ distribution which may be
downloaded from the AspectJ project page ( <ulink
- url="http://eclipse.org/aspectj" /> ).
+ url="https://eclipse.org/aspectj" /> ).
</para>
<para>
</sect2>
</sect1>
</chapter>
-
to the aspect. The pointcut would be updated to expose the object being
moved, and the advice would be updated to record that object. The paper
An Overview of AspectJ (available linked off of the AspectJ web site --
-http://eclipse.org/aspectj[]), presented at ECOOP 2001, presents a
+https://eclipse.org/aspectj[]), presented at ECOOP 2001, presents a
detailed discussion of various ways this aspect could be expected to
evolve.
doing so. Readers who would like to understand the examples in more
detail, or who want to learn how to program examples like these, can
find more complete examples and supporting material linked from the
- AspectJ web site ( <ulink url="http://eclipse.org/aspectj" /> ).
+ AspectJ web site ( <ulink url="https://eclipse.org/aspectj" /> ).
</para>
<para>
advice would be updated to record that object. The paper
<citetitle>An Overview of AspectJ</citetitle> (available linked off
of the AspectJ web site -- <ulink
- url="http://eclipse.org/aspectj" />), presented at ECOOP
+ url="https://eclipse.org/aspectj" />), presented at ECOOP
2001, presents a detailed discussion of various ways this aspect
could be expected to evolve.
</para>
</para>
</sect1>
</chapter>
-
* ...
* if (!foo.isDirtyValid() || foo.isDirty()) {
* foo.write();
- * }
+ * }
* </pre>
- *
+ *
* (Initial draft was sent to aspectj-users@eclipse.org by
- * Ricardo on 5/13/2003
- * (http://dev.eclipse.org/mhonarc/lists/aspectj-users/msg00482.html)
+ * Ricardo on 5/13/2003
+ * (https://dev.eclipse.org/mhonarc/lists/aspectj-users/msg00482.html)
* but his email fails now, so we
* did not get explicit authorization to post.)
- *
+ *
* @author Ricardo Giacomin, Wes Isberg
*/
public aspect WatchSetters {
public boolean IWatched.isDirtyValid() {
return dirtyValid;
}
-
+
/** Setters are instance methods returning void,
* prefixed "set..." and taking exactly 1 argument.
* Does not use args(id), since that requires the
* there wasn't a corresponding setter, we didn't
* have the right security permissions, etc.
*/
- void around(IWatched watched) : setters(watched)
+ void around(IWatched watched) : setters(watched)
&& if(watched.dirtyValid) {
// get value by invoking getter method
Object value = NONE;
.getMethod(getterName, GETTER_ARG_TYPES);
value = method.invoke(watched, GETTER_ARGS);
} catch (Throwable t) {
- // NoSuchMethodException, SecurityException,
+ // NoSuchMethodException, SecurityException,
// InvocationTargetException...
}
if (NONE == value) {
private static int ID;
public final int id = ++ID;
private int counter;
- public int getCounter() {
+ public int getCounter() {
return counter;
}
- public void setCounter(int i) {
+ public void setCounter(int i) {
counter = i;
}
public void write() {
System.out.println("writing " + this);
}
public String toString() {
- return "Timer " + id + "==" + counter;
+ return "Timer " + id + "==" + counter;
}
}
}
}
}
-
+
// ---- aspects use dirty to implement cache, etc.
// Volatile things are flushed when dirty
abstract aspect Volatile {
// subaspects declare targets using Volatile.ITag
protected interface ITag {}
declare precedence : Volatile+, WatchSetters;
- after(WatchSetters.IWatched watched) returning :
+ after(WatchSetters.IWatched watched) returning :
WatchSetters.setters(watched) {
if (!watched.isDirtyValid() || watched.isDirty()) {
flushCache(watched);
void signal(String s) {
org.aspectj.testing.Tester.event(s);
}
-
+
static {
org.aspectj.testing.Tester.expectEvent("client-write");
org.aspectj.testing.Tester.expectEvent("volatile-write");
}
- before() : withincode(void VolatileTimer.flushCache(Object))
+ before() : withincode(void VolatileTimer.flushCache(Object))
&& call(void Timer.write()) {
signal("volatile-write");
}
- before() : withincode(void Client.handleTimer(Timer))
+ before() : withincode(void Client.handleTimer(Timer))
&& call(void Timer.write()) {
signal("client-write");
}
after() returning : execution(void WatchSetters.main(String[])) {
org.aspectj.testing.Tester.checkAllEvents();
}
-}
\ No newline at end of file
+}
This contains demonstration source code for the article
"Get Inoculated!" in the May 2002 issue of Software Development
-magazine.
+magazine.
To use it you will need the AspectJ tools available from
-http://eclipse.org/aspectj. We also recommend you download the
+https://eclipse.org/aspectj. We also recommend you download the
documentation bundle and support for the IDE of your choice.
Each file has a snippet for a section of the article. To find
> ajc -classpath "$AJ_HOME/lib/aspectjrt.jar" {file}
> java -classpath ".;$AJ_HOME/lib/aspectjrt.jar" {class}
-For email discussions and support, see http://eclipse.org/aspectj.
+For email discussions and support, see https://eclipse.org/aspectj.
Enjoy!
For a list of publications about AspectJ that might contain sample code,
see the publications link off the AspectJ web site at
-http://eclipse.org/aspectj
+https://eclipse.org/aspectj
*"AspectJ in Action"* by Ramnivas Laddad has sample code including
four patterns: the worker object creation pattern, the exception
MyEclipseIde (http://www.myeclipseide.com/[http://www.myeclipseide.com])
aims to make it easy to develop J2EE applications using Eclipse. AJDT
-(http://eclipse.org/ajdt) is an Eclipse plug-in that supports AspectJ.
+(https://eclipse.org/ajdt) is an Eclipse plug-in that supports AspectJ.
== Getting started
* To install AJDT with MyEclipseIDE, direct the Eclipse update manager
-to http://download.eclipse.org/technology/ajdt/dev/update, install the
+to https://download.eclipse.org/technology/ajdt/dev/update, install the
plug-in, and follow any post-install instructions.
* To enable a project to use aspects, first select
`Convert to AspectJ project` from the project's context menu (select
an active user community for AspectJ at</p>
<blockquote>
- http://www.eclipse.org/aspectj
+ https://www.eclipse.org/aspectj
</blockquote>
</div>
[cols=",",]
|===
-|For Eclipse 3.0 with AJDT 1.1.12
-|http://dev.eclipse.org/viewcvs/index.cgi/~checkout~/org.aspectj/modules/docs/teaching/exercises/plugins/org.aspectj.tutorial.exercises_1.1.12.zip?rev=1.1&cvsroot=Technology_Project[org.aspectj.tutorial.exercises_1.1.12.zip]
+|For Eclipse 3.0 with AJDT 1.1.12
+|https://dev.eclipse.org/viewcvs/index.cgi/~checkout~/org.aspectj/modules/docs/teaching/exercises/plugins/org.aspectj.tutorial.exercises_1.1.12.zip?rev=1.1&cvsroot=Technology_Project[org.aspectj.tutorial.exercises_1.1.12.zip]
-|For Eclipse 3.0 with AJDT 1.2.0M2
-|http://dev.eclipse.org/viewcvs/index.cgi/~checkout~/org.aspectj/modules/docs/teaching/exercises/plugins/org.aspectj.tutorial.exercises_1.2.0M2.zip?rev=1.1&cvsroot=Technology_Project[org.aspectj.tutorial.exercises_1.2.0M2.zip]
+|For Eclipse 3.0 with AJDT 1.2.0M2
+|https://dev.eclipse.org/viewcvs/index.cgi/~checkout~/org.aspectj/modules/docs/teaching/exercises/plugins/org.aspectj.tutorial.exercises_1.2.0M2.zip?rev=1.1&cvsroot=Technology_Project[org.aspectj.tutorial.exercises_1.2.0M2.zip]
-|For Eclipse 3.0 with AJDT 1.2.0 latest dev build
-|http://dev.eclipse.org/viewcvs/index.cgi/~checkout~/org.aspectj/modules/docs/teaching/exercises/plugins/org.aspectj.tutorial.exercises_1.2.0_301_Dev.zip?rev=1.1&cvsroot=Technology_Project[org.aspectj.tutorial.exercises_1.2.0_301_Dev.zip]
+|For Eclipse 3.0 with AJDT 1.2.0 latest dev build
+|https://dev.eclipse.org/viewcvs/index.cgi/~checkout~/org.aspectj/modules/docs/teaching/exercises/plugins/org.aspectj.tutorial.exercises_1.2.0_301_Dev.zip?rev=1.1&cvsroot=Technology_Project[org.aspectj.tutorial.exercises_1.2.0_301_Dev.zip]
-|For Eclipse 3.1M5 with AJDT 1.2.0 latest dev build
-|http://dev.eclipse.org/viewcvs/index.cgi/~checkout~/org.aspectj/modules/docs/teaching/exercises/plugins/org.aspectj.tutorial.exercises_1.2.0_31M5_Dev.zip?rev=1.1&cvsroot=Technology_Project[org.aspectj.tutorial.exercises_1.2.0_31M5_Dev.zip]
+|For Eclipse 3.1M5 with AJDT 1.2.0 latest dev build
+|https://dev.eclipse.org/viewcvs/index.cgi/~checkout~/org.aspectj/modules/docs/teaching/exercises/plugins/org.aspectj.tutorial.exercises_1.2.0_31M5_Dev.zip?rev=1.1&cvsroot=Technology_Project[org.aspectj.tutorial.exercises_1.2.0_31M5_Dev.zip]
|===
<table>
<tr>
<td>For Eclipse 3.0 with AJDT 1.1.12 </td>
-<td><a href="http://dev.eclipse.org/viewcvs/index.cgi/~checkout~/org.aspectj/modules/docs/teaching/exercises/plugins/org.aspectj.tutorial.exercises_1.1.12.zip?rev=1.1&cvsroot=Technology_Project">
+<td><a href="https://dev.eclipse.org/viewcvs/index.cgi/~checkout~/org.aspectj/modules/docs/teaching/exercises/plugins/org.aspectj.tutorial.exercises_1.1.12.zip?rev=1.1&cvsroot=Technology_Project">
org.aspectj.tutorial.exercises_1.1.12.zip</a></td>
</tr>
<tr>
<td>For Eclipse 3.0 with AJDT 1.2.0M2 </td>
-<td><a href="http://dev.eclipse.org/viewcvs/index.cgi/~checkout~/org.aspectj/modules/docs/teaching/exercises/plugins/org.aspectj.tutorial.exercises_1.2.0M2.zip?rev=1.1&cvsroot=Technology_Project">
+<td><a href="https://dev.eclipse.org/viewcvs/index.cgi/~checkout~/org.aspectj/modules/docs/teaching/exercises/plugins/org.aspectj.tutorial.exercises_1.2.0M2.zip?rev=1.1&cvsroot=Technology_Project">
org.aspectj.tutorial.exercises_1.2.0M2.zip</a></td>
</tr>
<tr>
<td>For Eclipse 3.0 with AJDT 1.2.0 latest dev build </td>
-<td><a href="http://dev.eclipse.org/viewcvs/index.cgi/~checkout~/org.aspectj/modules/docs/teaching/exercises/plugins/org.aspectj.tutorial.exercises_1.2.0_301_Dev.zip?rev=1.1&cvsroot=Technology_Project">
+<td><a href="https://dev.eclipse.org/viewcvs/index.cgi/~checkout~/org.aspectj/modules/docs/teaching/exercises/plugins/org.aspectj.tutorial.exercises_1.2.0_301_Dev.zip?rev=1.1&cvsroot=Technology_Project">
org.aspectj.tutorial.exercises_1.2.0_301_Dev.zip</a></td>
</tr>
<tr>
<td>For Eclipse 3.1M5 with AJDT 1.2.0 latest dev build </td>
-<td><a href="http://dev.eclipse.org/viewcvs/index.cgi/~checkout~/org.aspectj/modules/docs/teaching/exercises/plugins/org.aspectj.tutorial.exercises_1.2.0_31M5_Dev.zip?rev=1.1&cvsroot=Technology_Project">
+<td><a href="https://dev.eclipse.org/viewcvs/index.cgi/~checkout~/org.aspectj/modules/docs/teaching/exercises/plugins/org.aspectj.tutorial.exercises_1.2.0_31M5_Dev.zip?rev=1.1&cvsroot=Technology_Project">
org.aspectj.tutorial.exercises_1.2.0_31M5_Dev.zip</a></td>
</tr>
</table>
<?xml version="1.0"?>
-<!DOCTYPE aspectj PUBLIC "-//AspectJ//DTD//EN" "http://sswww.aspectj.org/dtd/aspectj_1_5_0.dtd">
+<!DOCTYPE aspectj PUBLIC "-//AspectJ//DTD//EN" "https://www.aspectj.org/dtd/aspectj_1_5_0.dtd">
<aspectj>
<weaver options="-showWeaveInfo">
<include within="foo..bar.Goo+"/>
int typeEnd = type.getStartPosition() + type.getLength() - 1;
int rightEnd = Math.max(typeEnd, argument.declarationSourceEnd);
/*
- * There is extra work to do to set the proper type positions See PR http://bugs.eclipse.org/bugs/show_bug.cgi?id=23284
+ * There is extra work to do to set the proper type positions See PR https://bugs.eclipse.org/bugs/show_bug.cgi?id=23284
*/
if (isVarArgs) {
setTypeForSingleVariableDeclaration(variableDecl, type, extraDimensions + 1);
int typeEnd = type.getStartPosition() + type.getLength() - 1;
int rightEnd = Math.max(typeEnd, localDeclaration.declarationSourceEnd);
/*
- * There is extra work to do to set the proper type positions See PR http://bugs.eclipse.org/bugs/show_bug.cgi?id=23284
+ * There is extra work to do to set the proper type positions See PR https://bugs.eclipse.org/bugs/show_bug.cgi?id=23284
*/
setTypeForSingleVariableDeclaration(variableDecl, type, extraDimensions);
variableDecl
final SimpleName simpleName = new SimpleName(this.ast);
simpleName.internalSetIdentifier(new String(name));
// we need to search for the starting position of the first brace in order to set the proper length
- // PR http://dev.eclipse.org/bugs/show_bug.cgi?id=10759
+ // PR https://dev.eclipse.org/bugs/show_bug.cgi?id=10759
int end = retrieveEndOfElementTypeNamePosition(sourceStart, sourceStart + length)[1];
if (end == -1) {
end = sourceStart + length - 1;
/** Header used when rendering exceptions for users */
public static final String THROWN_PREFIX = "Exception thrown from AspectJ " + Version.getText() + LangUtil.EOL + "" + LangUtil.EOL
+ "This might be logged as a bug already -- find current bugs at" + LangUtil.EOL
- + " http://bugs.eclipse.org/bugs/buglist.cgi?product=AspectJ&component=Compiler" + LangUtil.EOL + "" + LangUtil.EOL
+ + " https://bugs.eclipse.org/bugs/buglist.cgi?product=AspectJ&component=Compiler" + LangUtil.EOL + "" + LangUtil.EOL
+ "Bugs for exceptions thrown have titles File:line from the top stack, " + LangUtil.EOL
+ "e.g., \"SomeFile.java:243\"" + LangUtil.EOL + "" + LangUtil.EOL
+ "If you don't find the exception below in a bug, please add a new bug" + LangUtil.EOL
- + "at http://bugs.eclipse.org/bugs/enter_bug.cgi?product=AspectJ" + LangUtil.EOL
+ + "at https://bugs.eclipse.org/bugs/enter_bug.cgi?product=AspectJ" + LangUtil.EOL
+ "To make the bug a priority, please include a test program" + LangUtil.EOL + "that can reproduce this exception."
+ LangUtil.EOL;
+ "found in your AspectJ installation directory. The -Xmx parameter value" + LangUtil.EOL
+ "should be increased from 64M (default) to 128M or even 256M." + LangUtil.EOL + LangUtil.EOL
+ "See the AspectJ FAQ available from the documentation link" + LangUtil.EOL
- + "on the AspectJ home page at http://www.eclipse.org/aspectj";
+ + "on the AspectJ home page at https://www.eclipse.org/aspectj";
private static final String MESSAGE_HOLDER_OPTION = "-messageHolder";
}
// if we got a "MAYBE" it's worth looking at the other signatures
// The first signature is the subject signature - and against it we must match modifiers/annotations/throws
- // see http://www.eclipse.org/aspectj/doc/next/adk15notebook/join-point-modifiers.html
+ // see https://www.eclipse.org/aspectj/doc/next/adk15notebook/join-point-modifiers.html
subjectMatch = false;
// Early exit
if (wantsAnnotationMatch) {
}
// Only the subject is checked for modifiers
- // see http://www.eclipse.org/aspectj/doc/next/adk15notebook/join-point-modifiers.html
+ // see https://www.eclipse.org/aspectj/doc/next/adk15notebook/join-point-modifiers.html
if (subjectMatch && !modifiers.matches(aMember.getModifiers())) {
return FuzzyBoolean.NO;
}
}
// Only the subject is checked for annotations (239441/119749)
- // see http://www.eclipse.org/aspectj/doc/next/adk15notebook/join-point-modifiers.html
+ // see https://www.eclipse.org/aspectj/doc/next/adk15notebook/join-point-modifiers.html
if (subjectMatch) {
// The annotations must match if specified
if (!matchesAnnotations(aMember, inAWorld).alwaysTrue()) {
return FuzzyBoolean.YES;
} else {
// do NOT look at ancestor members... only the subject can have an annotation match
- // see http://www.eclipse.org/aspectj/doc/next/adk15notebook/join-point-modifiers.html
+ // see https://www.eclipse.org/aspectj/doc/next/adk15notebook/join-point-modifiers.html
return FuzzyBoolean.NO;
}
}
{
URL url = null;
try {
- url = new URL("http://eclipse.org/BADURL");
+ url = new URL("https://eclipse.org/BADURL");
} catch (MalformedURLException e) {
// ignore - hopefully never
}
/*
* From:
- *
- * http://dev.eclipse.org/viewcvs/indextech.cgi/~checkout~/aspectj-home/doc/progguide/semantics-declare.html#d0e6499
*
- * Pointcuts that appear inside of declare forms have certain restrictions.
- * Like other pointcuts, these pick out join points, but they do so in a
- * way that is statically determinable.
- *
- * Consequently, such pointcuts may not include, directly or indirectly
- * (through user-defined pointcut declarations) pointcuts that discriminate
- * based on dynamic (runtime) context. Therefore, such pointcuts may not be
+ * https://dev.eclipse.org/viewcvs/indextech.cgi/~checkout~/aspectj-home/doc/progguide/semantics-declare.html#d0e6499
+ *
+ * Pointcuts that appear inside of declare forms have certain restrictions.
+ * Like other pointcuts, these pick out join points, but they do so in a
+ * way that is statically determinable.
+ *
+ * Consequently, such pointcuts may not include, directly or indirectly
+ * (through user-defined pointcut declarations) pointcuts that discriminate
+ * based on dynamic (runtime) context. Therefore, such pointcuts may not be
* defined in terms of
- *
+ *
* cflow
* cflowbelow
* this
* target
* args
* if
- *
- * all of which can discriminate on runtime information.
+ *
+ * all of which can discriminate on runtime information.
*/
public aspect DeclareSoftDynamicPCDs {
declare soft : MyException:if(true) ;
pointcut p(): if(false);
declare soft : MyException: p() ;
-
+
declare soft : MyException:cflow(execution(* main(..)));
pointcut p2(): cflow(execution(* main(..)));
declare soft : MyException:p2();
-
+
declare soft : MyException:cflowbelow(execution(* main(..)));
pointcut p3(): cflowbelow(execution(* main(..)));
declare soft : MyException:p3();
-
+
declare soft : MyException: this(Object);
pointcut p4(): this(Object);
declare soft : MyException:p4();
-
+
declare soft : MyException:target(Object);
pointcut p5(): target(Object);
declare soft : MyException:p5();
-
+
declare soft : MyException:args(Object);
pointcut p6(): args(Object);
declare soft : MyException:p6();
-
+
class MyException extends Exception {
}
public static void main(String[] args) {
System.err.println("In main!");
}
-
-}
\ No newline at end of file
+
+}
/*
* From:
- *
- * http://dev.eclipse.org/viewcvs/indextech.cgi/~checkout~/aspectj-home/doc/progguide/semantics-declare.html#d0e6499
*
- * Pointcuts that appear inside of declare forms have certain restrictions.
- * Like other pointcuts, these pick out join points, but they do so in a
- * way that is statically determinable.
- *
- * Consequently, such pointcuts may not include, directly or indirectly
- * (through user-defined pointcut declarations) pointcuts that discriminate
- * based on dynamic (runtime) context. Therefore, such pointcuts may not be
+ * https://dev.eclipse.org/viewcvs/indextech.cgi/~checkout~/aspectj-home/doc/progguide/semantics-declare.html#d0e6499
+ *
+ * Pointcuts that appear inside of declare forms have certain restrictions.
+ * Like other pointcuts, these pick out join points, but they do so in a
+ * way that is statically determinable.
+ *
+ * Consequently, such pointcuts may not include, directly or indirectly
+ * (through user-defined pointcut declarations) pointcuts that discriminate
+ * based on dynamic (runtime) context. Therefore, such pointcuts may not be
* defined in terms of
- *
+ *
* cflow
* cflowbelow
* this
* target
* args
* if
- *
- * all of which can discriminate on runtime information.
+ *
+ * all of which can discriminate on runtime information.
*/
public aspect DecwClassCastException {
declare warning : if(true) : "if(true) directly against checker";
pointcut p(): if(false);
declare warning : p() : "if(false) through defined pointcut";
-
+
declare error : cflow(execution(* main(..))): "cflow(execution(* main(..))) directly against checker";
pointcut p2(): cflow(execution(* main(..)));
declare error : p2() : "cflow(execution(* main(..))) through defined pointcut";
-
+
declare warning : cflowbelow(execution(* main(..))): "cflowbelow(execution(* main(..))) directly against checker";
pointcut p3(): cflowbelow(execution(* main(..)));
declare error : p3() : "cflowbelow(execution(* main(..))) through defined pointcut";
-
+
declare warning : this(Object): "this(Object) directly against checker";
pointcut p4(): this(Object);
declare warning : p4(): "this(Object) through defined pointcut";
-
+
declare warning : target(Object): "target(Object) directly against checker";
pointcut p5(): target(Object);
declare warning : p5(): "target(Object) through defined pointcut";
-
+
declare warning : args(Object): "args(Object) directly against checker";
pointcut p6(): args(Object);
declare warning : p6(): "args(Object) through defined pointcut";
-
+
public static void main(String[] args) {
System.err.println("In main!");
}
-
-}
\ No newline at end of file
+
+}
* no example for "invalidWildcardTypeName"
*
* Never signalled anywhere in the codebase
- * @see http://dev.eclipse.org/mhonarc/lists/aspectj-dev/msg01404.html
+ * @see https://dev.eclipse.org/mhonarc/lists/aspectj-dev/msg01404.html
*/
* no example for "shadowNotInStructure"
*
* Signalled if the structure model is broken, probably can't happen
- * @see http://dev.eclipse.org/mhonarc/lists/aspectj-dev/msg01404.html
+ * @see https://dev.eclipse.org/mhonarc/lists/aspectj-dev/msg01404.html
*/
-<!DOCTYPE aspectj PUBLIC\r
- "-//AspectJ//DTD//EN" "http://www.eclipse.org/aspectj/dtd/aspectj.dtd">\r
-<aspectj>\r
- <weaver options="-debug">\r
- <include within="foo.bar..*" />\r
- </weaver>\r
- <aspects>\r
- <aspect name="foo.bar.BarAspect"/>\r
- </aspects>\r
-</aspectj>\r
+<!DOCTYPE aspectj PUBLIC
+ "-//AspectJ//DTD//EN" "https://www.eclipse.org/aspectj/dtd/aspectj.dtd">
+<aspectj>
+ <weaver options="-debug">
+ <include within="foo.bar..*" />
+ </weaver>
+ <aspects>
+ <aspect name="foo.bar.BarAspect"/>
+ </aspects>
+</aspectj>
-<!DOCTYPE aspectj PUBLIC\r
- "-//AspectJ//DTD//EN" "http://www.eclipse.org/aspectj/dtd/aspectj.dtd">\r
-<aspectj>\r
- <weaver>\r
- <include within="foo.bar..*" />\r
- </weaver>\r
- <aspects>\r
- <aspect name="foo.bar.BarAspect"/>\r
- </aspects>\r
-</aspectj>
\ No newline at end of file
+<!DOCTYPE aspectj PUBLIC
+ "-//AspectJ//DTD//EN" "https://www.eclipse.org/aspectj/dtd/aspectj.dtd">
+<aspectj>
+ <weaver>
+ <include within="foo.bar..*" />
+ </weaver>
+ <aspects>
+ <aspect name="foo.bar.BarAspect"/>
+ </aspects>
+</aspectj>
class DemoServiceImpl implements DemoService {
- public void secureMethod() { }
+ public void secureMethod() { }
}
aspect X {
// None of these match, the subject at execution(secureMethod()) does not have the annotation
- // see http://www.eclipse.org/aspectj/doc/next/adk15notebook/join-point-modifiers.html
+ // see https://www.eclipse.org/aspectj/doc/next/adk15notebook/join-point-modifiers.html
before(): execution(@Secured * *Service+.*(..)) { }
-
+
before(): execution(@Secured * *Service.*(..)) { }
before(): execution(@Secured * DemoService.*(..)) { }
-
+
}
public class Asp {
new DemoServiceImpl().secureMethod();
}
}
-
void secureMethod();
}
-
class DemoServiceImpl implements DemoService {
- public void secureMethod() { }
+ public void secureMethod() { }
}
aspect X {
// None of these match, the subject at execution(secureMethod()) does not have the annotation
- // see http://www.eclipse.org/aspectj/doc/next/adk15notebook/join-point-modifiers.html
+ // see https://www.eclipse.org/aspectj/doc/next/adk15notebook/join-point-modifiers.html
before(): execution(@Secured! * *Service+.*(..)) { }
-
-
}
public class AspNew {
new DemoServiceImpl().secureMethod();
}
}
-
-<!DOCTYPE aspectj PUBLIC "-//AspectJ//DTD//EN" "http://www.eclipse.org/aspectj/dtd/aspectj.dtd">
+<!DOCTYPE aspectj PUBLIC "-//AspectJ//DTD//EN" "https://www.eclipse.org/aspectj/dtd/aspectj.dtd">
<aspectj>
<weaver>
</weaver>