Skip to content

Commit ebcfed2

Browse files
committed
First commit
0 parents  commit ebcfed2

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

52 files changed

+3561
-0
lines changed

Diff for: .gitignore

+7
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
bin/
2+
target/
3+
*.class
4+
# IntelliJ
5+
.idea/
6+
*.iml
7+
site.xml

Diff for: CONTRIBUTING.md

+44
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
# Contributing
2+
3+
We welcome your contributions! There are multiple ways to contribute.
4+
5+
## Issues
6+
7+
For bugs or enhancement requests, please file a GitHub issue unless it's security related. When filing a bug remember that the better written the bug is, the more likely it is to be fixed. If you think you've found a security vulnerability, do not raise a GitHub issue and follow the instructions on our [Security Policy](./SECURITY.md).
8+
9+
## Contributing Code
10+
11+
We welcome your code contributions. To get started, you will need to sign the [Oracle Contributor Agreement](https://www.oracle.com/technetwork/community/oca-486395.html) (OCA).
12+
13+
For pull requests to be accepted, the bottom of your commit message must have
14+
the following line using the name and e-mail address you used for the OCA.
15+
16+
```text
17+
Signed-off-by: Your Name <[email protected]>
18+
```
19+
20+
This can be automatically added to pull requests by committing with:
21+
22+
```text
23+
git commit --signoff
24+
```
25+
26+
Only pull requests from committers that can be verified as having
27+
signed the OCA can be accepted.
28+
29+
### Pull request process
30+
31+
1. Fork this repository
32+
1. Create a branch in your fork to implement the changes. We recommend using
33+
the issue number as part of your branch name, e.g. `1234-fixes`
34+
1. Ensure that any documentation is updated with the changes that are required
35+
by your fix.
36+
1. Ensure that any samples are updated if the base image has been changed.
37+
1. Submit the pull request. *Do not leave the pull request blank*. Explain exactly
38+
what your changes are meant to do and provide simple steps on how to validate
39+
your changes. Ensure that you reference the issue you created as well.
40+
1. We will assign the pull request to 2-3 people for review before it is merged.
41+
42+
## Code of Conduct
43+
44+
Follow the [Golden Rule](https://en.wikipedia.org/wiki/Golden_Rule). If you'd like more specific guidelines see the [Contributor Covenant Code of Conduct](https://www.contributor-covenant.org/version/1/4/code-of-conduct/)

Diff for: LICENSE.txt

+35
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
Copyright (c) 2020, Oracle and/or its affiliates.
2+
3+
The Universal Permissive License (UPL), Version 1.0
4+
5+
Subject to the condition set forth below, permission is hereby granted to any
6+
person obtaining a copy of this software, associated documentation and/or data
7+
(collectively the "Software"), free of charge and under any and all copyright
8+
rights in the Software, and any and all patent rights owned or freely
9+
licensable by each licensor hereunder covering either (i) the unmodified
10+
Software as contributed to or provided by such licensor, or (ii) the Larger
11+
Works (as defined below), to deal in both
12+
13+
(a) the Software, and
14+
(b) any piece of software and/or hardware listed in the lrgrwrks.txt file if
15+
one is included with the Software (each a "Larger Work" to which the Software
16+
is contributed by such licensors),
17+
18+
without restriction, including without limitation the rights to copy, create
19+
derivative works of, display, perform, and distribute the Software and make,
20+
use, sell, offer for sale, import, export, have made, and have sold the
21+
Software and the Larger Work(s), and to sublicense the foregoing rights on
22+
either these or other terms.
23+
24+
This license is subject to the following condition:
25+
The above copyright notice and either this complete permission notice or at
26+
a minimum a reference to the UPL must be included in all copies or
27+
substantial portions of the Software.
28+
29+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
30+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
31+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
32+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
33+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
34+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
35+
SOFTWARE.

Diff for: README.md

+127
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,127 @@
1+
# Coherence Eclipse Plugin
2+
3+
# Contents
4+
5+
* [Overview](#overview)
6+
* [Build the Plugin](#build-the-plugin)
7+
* [Install the Plugin](#install-the-plugin)
8+
* [Using the Plugin](#using-the-plugin)
9+
* [Example Projects](examples/pof-plugin-example-project)
10+
* [Development](#development)
11+
12+
# Overview
13+
14+
The Coherence Eclipse Plugin provides various features to help developer productivity
15+
when working with Coherence.
16+
17+
Currently there this plugin supports the following features:
18+
* `Coherence POF Plugin` - Provides a development time instrumentation of classes with the PortableType annotation to generate
19+
consistent (and correct) implementations of Evolvable POF serialization methods.
20+
This development time plugin can be used in conjunction with the `POF Maven Plugin` which instruments classes at project build time.
21+
22+
# Build the Plugin
23+
24+
You must have:
25+
* JDK1.8
26+
* Maven 3.6.3+
27+
* Minimum Eclipse version 2020-03
28+
29+
1. Clone the repository
30+
31+
```bash
32+
git clone https://gitlab-odx.oracledx.com/coherence/coherence-eclipse-plugin.git
33+
```
34+
35+
1. Build the plugin
36+
37+
```bash
38+
cd coherence-eclipse-plugin
39+
40+
mvn clean install
41+
```
42+
43+
This will generate a zip file called `./coherence.eclipse.plugin.repository/target/coherence-eclipse-plugin-repository-1.0.0-SNAPSHOT.zip`
44+
45+
# Install the Plugin
46+
47+
1. Help -> Install New Software
48+
49+
1. Click on `Add` button on the right
50+
51+
1. Choose a name such as `Coherence Local`
52+
53+
1. Click on `Archive` and choose the zip file mentioned above and click `Add`
54+
55+
1. Select the `Coherence Eclipse Plugin` displayed in the list and click `Next`, then `Next`
56+
57+
1. Accept the license terms and click `Finish`
58+
59+
1. You may receive a warning that the plugin is unsigned. Choose `Install Anyway`
60+
61+
1. Click `Restart Now` to restart Eclipse
62+
63+
# Using the plugin
64+
65+
> Note: You can use the sample project [here](examples/pof-plugin-example-project) to test the plugin.
66+
67+
## Enable the Plugin
68+
69+
1. Right-click on your open project
70+
71+
2. Select `Configure` then `Enable Coherence POF Plugin`
72+
73+
![Messages](assets/enable.png)
74+
75+
## Disable the Plugin
76+
77+
1. Right-click on your open project
78+
79+
2. Select `Configure` then `Disable Coherence POF Plugin`
80+
81+
## Verifying
82+
83+
When you build your project, for any Java classes that use the `@PortableType` annotation
84+
you will see an Info message in the `Problems` tab saying the class was instrumented.
85+
86+
A message indicating the class was not instrumented can indicate that it has already been instrumented
87+
or is ignored because is does not implement the `PortableType` annotation.
88+
89+
![Messages](assets/messages.png)
90+
91+
# Uninstall the Plugin
92+
93+
1. Help -> Install New Software
94+
95+
1. Click on `What is already installed` link
96+
97+
1. Search for `Coherence` and select `Coherence Eclipse Plugin`
98+
99+
1. Click `Un-install` then `Finish`
100+
101+
1. Click `Restart Now` to restart Eclipse
102+
103+
# Example projects
104+
105+
Please see [here](examples/pof-plugin-example-project) for and example project and instructions how to import.
106+
107+
# Development
108+
109+
To import the plugin project into your Eclipse IDE, carry out the following:
110+
111+
1. Clone the repository using:
112+
113+
```bash
114+
git clone https://gitlab-odx.oracledx.com/coherence/coherence-eclipse-plugin.git
115+
```
116+
117+
1. Open Eclipse
118+
119+
1. Choose `File->Open Projects from Filesystem`
120+
121+
1. Choose `Directory` and select the `coherence-eclipse-plugin` project you cloned, then click `Done`
122+
123+
1. Ensure you only select the `coherence-ecplise-plugin/coherence.eclipse.plugin` as shown below:
124+
125+
![Import](assets/import.png)
126+
127+
> Note: Ignore any errors from the `pom.xml` file as this is only used for a Maven build.

Diff for: SECURITY.md

+17
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
# Reporting Security Vulnerabilities
2+
3+
Oracle values the independent security research community and believes that responsible disclosure of security vulnerabilities helps us ensure the security and privacy of all our users.
4+
5+
Please do NOT raise a GitHub Issue to report a security vulnerability. If you believe you have found a security vulnerability, please submit a report to [email protected] preferably with a proof of concept. We provide additional information on [how to report security vulnerabilities to Oracle](https://www.oracle.com/corporate/security-practices/assurance/vulnerability/reporting.html) which includes public encryption keys for secure email.
6+
7+
We ask that you do not use other channels or contact project contributors directly.
8+
9+
Non-vulnerability related security issues such as great new ideas for security features are welcome on GitHub Issues.
10+
11+
## Security Updates, Alerts and Bulletins
12+
13+
Security updates will be released on a regular cadence. Many of our projects will typically release security fixes in conjunction with the [Oracle Critical Patch Update](https://www.oracle.com/security-alerts/) program. Security updates are released on the Tuesday closest to the 17th day of January, April, July and October. A pre-release announcement will be published on the Thursday preceding each release. Additional information, including past advisories, is available on our [Security Alerts](https://www.oracle.com/security-alerts/) page.
14+
15+
## Security-Related Information
16+
17+
We will provide security related information such as a threat model, considerations for secure use, or any known security issues in our documentation. Please note that labs and sample code are intended to demonstrate a concept and may not be sufficiently hardened for production use.

0 commit comments

Comments
 (0)