diff --git a/.gitattributes b/.gitattributes deleted file mode 100644 index 1970fec..0000000 --- a/.gitattributes +++ /dev/null @@ -1,141 +0,0 @@ -# https://docs.github.com/en/get-started/git-basics/configuring-git-to-handle-line-endings#example -# inspired by -# - https://github.com/alexkaratarakis/gitattributes/blob/master/Java.gitattributes -# - https://github.com/alexkaratarakis/gitattributes/blob/master/Common.gitattributes - -# Handle line endings automatically for files detected as text -# and leave all files detected as binary untouched. -* text=auto - -# -# The above will handle all files with names NOT matching patterns defined below -# - -# Git files -.gitattributes text eol=lf -**/.gitattributes text eol=lf -.gitignore text eol=lf -**/.gitignore text eol=lf - - -# Documents -*.doc binary diff=astextplain -*.docx binary diff=astextplain -*.dot binary diff=astextplain -*.pdf binary diff=astextplain -*.ppt binary diff=astextplain -*.pptx binary diff=astextplain -*.rtf binary diff=astextplain -*.vsd binary diff=astextplain -*.vsdx binary diff=astextplain -*.odt binary diff=odf -*.ods binary diff=odf -*.odp binary diff=odf -*.adoc text -*.csv text -*.md text diff=markdown -*.txt text - - -# Config/Serialisation -.editorconfig text -**/.editorconfig text -*.graphql text -*.ini text -*.properties text -*.json text -*.toml text -*.xml text -*.yaml text -*.yml text - - -# Scripts -*.bat text eol=crlf -*.cmd text eol=crlf -*.ps1 text eol=crlf -*.bash text eol=lf -*.fish text eol=lf -*.sh text eol=lf -*.zsh text eol=lf -*.dart text -*.hx text -*.lua text -*.php text -*.py text -*.python text -*.sql text -mvnw text eol=lf -**/Dockerfile text eol=lf -**/*.Dockerfile text eol=lf - - -# Archives -*.7z binary -*.gz binary -*.tar binary -*.tar.gz binary -*.tgz binary -*.xz binary -*.zip binary - - -# Native binaries -*.dll binary -*.dylib binary -*.exe binary -*.so binary - - -# Images -*.eps binary -*.gif binary -*.ico binary -*.jpg binary -*.jpeg binary -*.png binary -*.svg text -*.svgz binary -*.tif binary -*.tiff binary - - -# Fonts -*.eot binary -*.otf binary -*.ttf binary -*.woff binary - - -# Java -*.gradle text diff=java -*.gradle.kts text diff=java -*.java text diff=java -*.class binary -*.ear binary -*.jceks binary -*.jks binary -*.jar binary -*.pak binary -*.war binary -*.jsp text -*.jspf text -*.jspx text -*.tld text -*.tag text -*.tagx text - - -# Web -*.css text diff=css -*.htm text diff=html -*.html text diff=html -*.js text -*.ts text -*.vue text - - -# https://git-scm.com/docs/gitattributes#_export_ignore -.gitattributes export-ignore -.gitignore export-ignore -.gitkeep export-ignore diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md deleted file mode 100644 index 6bdaa99..0000000 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ /dev/null @@ -1,6 +0,0 @@ -*Issue #, if available:* - -*Description of changes:* - - -By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice. diff --git a/.github/dependabot.yml b/.github/dependabot.yml deleted file mode 100644 index 4bd5819..0000000 --- a/.github/dependabot.yml +++ /dev/null @@ -1,32 +0,0 @@ -# https://docs.github.com/en/code-security/dependabot/working-with-dependabot/dependabot-options-reference -version: 2 -updates: -- package-ecosystem: github-actions - directory: / - schedule: - interval: weekly - day: monday - time: "14:00" - commit-message: - prefix: ci - prefix-development: ci - include: scope - labels: - - dependencies - - gha - - pinned - -- package-ecosystem: maven - directory: / - schedule: - interval: weekly - day: monday - time: "14:00" - commit-message: - prefix: fix - prefix-development: build - include: scope - labels: - - dependencies - - mvn - - pinned diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml deleted file mode 100644 index 1dd17c2..0000000 --- a/.github/workflows/build.yml +++ /dev/null @@ -1,82 +0,0 @@ -# SPDX-FileCopyrightText: © Sebastian Thomschke and contributors -# SPDX-FileContributor: Sebastian Thomschke (https://sebthom.de/) -# SPDX-License-Identifier: EPL-2.0 -# SPDX-ArtifactOfProjectHomePage: https://github.com/sebthom/open-with-eclipse-plugin -# -# https://docs.github.com/en/actions/reference/workflows-and-actions/workflow-syntax -name: Build - -on: # https://docs.github.com/en/actions/reference/workflows-and-actions/events-that-trigger-workflows - schedule: - # https://docs.github.com/en/actions/reference/workflows-and-actions/events-that-trigger-workflows#schedule - - cron: "0 15 1 * *" - push: - branches-ignore: # build all branches except: - - "dependabot/**" # prevent GHA triggered twice (once for commit to the branch and once for opening/syncing the PR) - tags-ignore: # don't build tags - - "**" - paths-ignore: - - ".act*" - - "**/*.adoc" - - "**/*.md" - - ".editorconfig" - - ".git*" - - ".github/*.yml" - - ".github/ISSUE_TEMPLATE/*" - - ".github/workflows/stale.yml" - pull_request: - paths-ignore: - - ".act*" - - "**/*.adoc" - - "**/*.md" - - ".editorconfig" - - ".git*" - - ".github/*.yml" - - ".github/ISSUE_TEMPLATE/*" - - ".github/workflows/stale.yml" - workflow_dispatch: - # https://docs.github.com/en/actions/reference/workflows-and-actions/events-that-trigger-workflows#workflow_dispatch - inputs: - extra-maven-args: - description: "Additional command-line arguments to append to all Maven invocations" - required: false - type: string - debug-with-ssh: - description: "Start an SSH session for debugging purposes at the end of the build:" - default: never - type: choice - options: [ always, on_failure, on_failure_or_cancelled, never ] - debug-with-ssh-only-for-actor: - description: "Restrict SSH debug session access to the GitHub user who triggered the workflow" - default: true - type: boolean - -jobs: - ########################################################### - eclipse-plugin-build: - ########################################################### - uses: sebthom/gha-shared/.github/workflows/reusable.eclipse-plugin-build.yml@v1 - with: - timeout-minutes: 10 - - target-files: build.target - - extra-maven-args: ${{ inputs.extra-maven-args }} - jarsigner-alias: sebthom.github.io - - development-branch: main - development-updatesite-branch: updatesite-preview - release-branch: release - release-updatesite-branch: updatesite - release-archive-name: de.sebthom.eclipse.open_with_eclipse.updatesite.zip - - debug-with-ssh: ${{ inputs.debug-with-ssh }} - debug-with-ssh-only-for-actor: ${{ inputs.debug-with-ssh-only-for-actor }} - - secrets: - JARSIGNER_KEYSTORE: ${{ secrets.CERTDB }} # populated by https://github.com/sebthom/sebthom.github.io/actions/workflows/renew-cert.yml - - permissions: - actions: write # to delete action cache entries - contents: write # to create releases (commit to updatesite branches) - pull-requests: write # for dependabot auto merges diff --git a/.github/workflows/stale.yml b/.github/workflows/stale.yml deleted file mode 100644 index f318fa9..0000000 --- a/.github/workflows/stale.yml +++ /dev/null @@ -1,20 +0,0 @@ -# https://docs.github.com/en/actions/reference/workflows-and-actions/workflow-syntax -name: Stale issues - -on: # https://docs.github.com/en/actions/reference/workflows-and-actions/events-that-trigger-workflows - schedule: - # https://docs.github.com/en/actions/reference/workflows-and-actions/events-that-trigger-workflows#schedule - - cron: '0 15 1,15 * *' - workflow_dispatch: - # https://docs.github.com/en/actions/reference/workflows-and-actions/events-that-trigger-workflows#workflow_dispatch - -permissions: - issues: write - pull-requests: write - -jobs: - stale: - runs-on: ubuntu-latest - steps: - - name: Run stale action - uses: sebthom/gha-shared/.github/actions/stale@v1 diff --git a/.gitignore b/.gitignore deleted file mode 100644 index f33b671..0000000 --- a/.gitignore +++ /dev/null @@ -1,46 +0,0 @@ -# Local work folder that is not checked in -_LOCAL/ - -# Eclipse -.apt_generated/ -.checkstyle -.classpath -.factorypath -.project -**/.settings/* -!**/.settings/org.eclipse.jdt.core.prefs -bin/ - -# Maven -target/ -pom.xml.tag -pom.xml.releaseBackup -pom.xml.versionsBackup -pom.xml.next -release.properties -dependency-reduced-pom.xml -buildNumber.properties -.mvn/timing.properties - -# IntelliJ -/.idea -/*.iml -/*.ipr -/*.iws - -# NetBeans -nb-configuration.xml - -# Visual Studio Code -/.vscode - -# OSX -.DS_Store - -# Vim -*.swo -*.swp - -# patch -*.orig -*.rej diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md deleted file mode 100644 index 82fd6cf..0000000 --- a/CODE_OF_CONDUCT.md +++ /dev/null @@ -1,132 +0,0 @@ -# Contributor Covenant Code of Conduct - -## Our Pledge - -We as members, contributors, and leaders pledge to make participation in our -community a harassment-free experience for everyone, regardless of age, body -size, visible or invisible disability, ethnicity, sex characteristics, gender -identity and expression, level of experience, education, socio-economic status, -nationality, personal appearance, race, caste, color, religion, or sexual -identity and orientation. - -We pledge to act and interact in ways that contribute to an open, welcoming, -diverse, inclusive, and healthy community. - -## Our Standards - -Examples of behavior that contributes to a positive environment for our -community include: - -* Demonstrating empathy and kindness toward other people -* Being respectful of differing opinions, viewpoints, and experiences -* Giving and gracefully accepting constructive feedback -* Accepting responsibility and apologizing to those affected by our mistakes, - and learning from the experience -* Focusing on what is best not just for us as individuals, but for the overall - community - -Examples of unacceptable behavior include: - -* The use of sexualized language or imagery, and sexual attention or advances of - any kind -* Trolling, insulting or derogatory comments, and personal or political attacks -* Public or private harassment -* Publishing others' private information, such as a physical or email address, - without their explicit permission -* Other conduct which could reasonably be considered inappropriate in a - professional setting - -## Enforcement Responsibilities - -Community leaders are responsible for clarifying and enforcing our standards of -acceptable behavior and will take appropriate and fair corrective action in -response to any behavior that they deem inappropriate, threatening, offensive, -or harmful. - -Community leaders have the right and responsibility to remove, edit, or reject -comments, commits, code, wiki edits, issues, and other contributions that are -not aligned to this Code of Conduct, and will communicate reasons for moderation -decisions when appropriate. - -## Scope - -This Code of Conduct applies within all community spaces, and also applies when -an individual is officially representing the community in public spaces. -Examples of representing our community include using an official email address, -posting via an official social media account, or acting as an appointed -representative at an online or offline event. - -## Enforcement - -Instances of abusive, harassing, or otherwise unacceptable behavior may be -reported to the community leaders responsible for enforcement at -https://github.com/sebthom/open-with-eclipse-plugin/issues -All complaints will be reviewed and investigated promptly and fairly. - -All community leaders are obligated to respect the privacy and security of the -reporter of any incident. - -## Enforcement Guidelines - -Community leaders will follow these Community Impact Guidelines in determining -the consequences for any action they deem in violation of this Code of Conduct: - -### 1. Correction - -**Community Impact**: Use of inappropriate language or other behavior deemed -unprofessional or unwelcome in the community. - -**Consequence**: A private, written warning from community leaders, providing -clarity around the nature of the violation and an explanation of why the -behavior was inappropriate. A public apology may be requested. - -### 2. Warning - -**Community Impact**: A violation through a single incident or series of -actions. - -**Consequence**: A warning with consequences for continued behavior. No -interaction with the people involved, including unsolicited interaction with -those enforcing the Code of Conduct, for a specified period of time. This -includes avoiding interactions in community spaces as well as external channels -like social media. Violating these terms may lead to a temporary or permanent -ban. - -### 3. Temporary Ban - -**Community Impact**: A serious violation of community standards, including -sustained inappropriate behavior. - -**Consequence**: A temporary ban from any sort of interaction or public -communication with the community for a specified period of time. No public or -private interaction with the people involved, including unsolicited interaction -with those enforcing the Code of Conduct, is allowed during this period. -Violating these terms may lead to a permanent ban. - -### 4. Permanent Ban - -**Community Impact**: Demonstrating a pattern of violation of community -standards, including sustained inappropriate behavior, harassment of an -individual, or aggression toward or disparagement of classes of individuals. - -**Consequence**: A permanent ban from any sort of public interaction within the -community. - -## Attribution - -This Code of Conduct is adapted from the [Contributor Covenant][homepage], -version 2.1, available at -[https://www.contributor-covenant.org/version/2/1/code_of_conduct.html][v2.1]. - -Community Impact Guidelines were inspired by -[Mozilla's code of conduct enforcement ladder][Mozilla CoC]. - -For answers to common questions about this code of conduct, see the FAQ at -[https://www.contributor-covenant.org/faq][FAQ]. Translations are available at -[https://www.contributor-covenant.org/translations][translations]. - -[homepage]: https://www.contributor-covenant.org -[v2.1]: https://www.contributor-covenant.org/version/2/1/code_of_conduct.html -[Mozilla CoC]: https://github.com/mozilla/diversity -[FAQ]: https://www.contributor-covenant.org/faq -[translations]: https://www.contributor-covenant.org/translations diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md deleted file mode 100644 index 7e5fd65..0000000 --- a/CONTRIBUTING.md +++ /dev/null @@ -1,51 +0,0 @@ -# Contributing to the Project - -Thank you for your interest in contributing to this project! We strive to make the contribution process clear and welcoming. - -Please take a moment to review the guidelines below. - - -## Code of Conduct - -Please review and adhere to our [Code of Conduct](CODE_OF_CONDUCT.md) in all your interactions with the project. -This helps us maintain a positive and respectful environment for everyone involved. - - -## How to Contribute - -### Contributor Responsibilities - -By submitting your contributions, you agree to the following: -- You are the sole author of the content you contribute, or you have the appropriate rights and permissions to contribute it. -- If employed, you have obtained any necessary permissions from your employer to contribute to this project. -- All contributions will be made available under the project’s license. - -### Issues - -We use GitHub Issues to track bugs and feature requests. When submitting an issue, please ensure: -- The description is clear and concise. -- You provide enough details and steps to reproduce the issue, if applicable. - -### Pull Requests - -Before making substantial contributions: -1. **Discuss Changes**: Please file an issue first to discuss your proposed changes with the team. This helps ensure your contribution aligns with the project’s goals. -2. **Follow Best Practices**: Adhere to the guidelines and ensure your code meets the project’s standards (see [Code Guidelines](CODING_GUIDELINES.md)). - -When submitting a pull request: -- Ensure your changes are well-documented. -- Include tests for any new features or significant changes. -- Reference the relevant issue(s) in your pull request description. - -### Source Code Formatting - -Before committing your code ensure it is formatted according the [vegardit.com Eclipse formatter rules](https://github.com/vegardit/vegardit-maven-parent/blob/main/src/etc/eclipse-formatter.xml). - -IntelliJ users can use the [Eclipse Code Formatter](https://plugins.jetbrains.com/plugin/6546-eclipse-code-formatter) plugin to import and use the formatter settings. - - -## Licensing - -By contributing to this project, you agree that your contributions will be licensed under the [Eclipse Public License 2.0](LICENSE.txt). - -The project itself is also licensed under the [Eclipse Public License 2.0](LICENSE.txt)). diff --git a/LICENSE.txt b/LICENSE.txt deleted file mode 100644 index e48e096..0000000 --- a/LICENSE.txt +++ /dev/null @@ -1,277 +0,0 @@ -Eclipse Public License - v 2.0 - - THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE - PUBLIC LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION - OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. - -1. DEFINITIONS - -"Contribution" means: - - a) in the case of the initial Contributor, the initial content - Distributed under this Agreement, and - - b) in the case of each subsequent Contributor: - i) changes to the Program, and - ii) additions to the Program; - where such changes and/or additions to the Program originate from - and are Distributed by that particular Contributor. A Contribution - "originates" from a Contributor if it was added to the Program by - such Contributor itself or anyone acting on such Contributor's behalf. - Contributions do not include changes or additions to the Program that - are not Modified Works. - -"Contributor" means any person or entity that Distributes the Program. - -"Licensed Patents" mean patent claims licensable by a Contributor which -are necessarily infringed by the use or sale of its Contribution alone -or when combined with the Program. - -"Program" means the Contributions Distributed in accordance with this -Agreement. - -"Recipient" means anyone who receives the Program under this Agreement -or any Secondary License (as applicable), including Contributors. - -"Derivative Works" shall mean any work, whether in Source Code or other -form, that is based on (or derived from) the Program and for which the -editorial revisions, annotations, elaborations, or other modifications -represent, as a whole, an original work of authorship. - -"Modified Works" shall mean any work in Source Code or other form that -results from an addition to, deletion from, or modification of the -contents of the Program, including, for purposes of clarity any new file -in Source Code form that contains any contents of the Program. Modified -Works shall not include works that contain only declarations, -interfaces, types, classes, structures, or files of the Program solely -in each case in order to link to, bind by name, or subclass the Program -or Modified Works thereof. - -"Distribute" means the acts of a) distributing or b) making available -in any manner that enables the transfer of a copy. - -"Source Code" means the form of a Program preferred for making -modifications, including but not limited to software source code, -documentation source, and configuration files. - -"Secondary License" means either the GNU General Public License, -Version 2.0, or any later versions of that license, including any -exceptions or additional permissions as identified by the initial -Contributor. - -2. GRANT OF RIGHTS - - a) Subject to the terms of this Agreement, each Contributor hereby - grants Recipient a non-exclusive, worldwide, royalty-free copyright - license to reproduce, prepare Derivative Works of, publicly display, - publicly perform, Distribute and sublicense the Contribution of such - Contributor, if any, and such Derivative Works. - - b) Subject to the terms of this Agreement, each Contributor hereby - grants Recipient a non-exclusive, worldwide, royalty-free patent - license under Licensed Patents to make, use, sell, offer to sell, - import and otherwise transfer the Contribution of such Contributor, - if any, in Source Code or other form. This patent license shall - apply to the combination of the Contribution and the Program if, at - the time the Contribution is added by the Contributor, such addition - of the Contribution causes such combination to be covered by the - Licensed Patents. The patent license shall not apply to any other - combinations which include the Contribution. No hardware per se is - licensed hereunder. - - c) Recipient understands that although each Contributor grants the - licenses to its Contributions set forth herein, no assurances are - provided by any Contributor that the Program does not infringe the - patent or other intellectual property rights of any other entity. - Each Contributor disclaims any liability to Recipient for claims - brought by any other entity based on infringement of intellectual - property rights or otherwise. As a condition to exercising the - rights and licenses granted hereunder, each Recipient hereby - assumes sole responsibility to secure any other intellectual - property rights needed, if any. For example, if a third party - patent license is required to allow Recipient to Distribute the - Program, it is Recipient's responsibility to acquire that license - before distributing the Program. - - d) Each Contributor represents that to its knowledge it has - sufficient copyright rights in its Contribution, if any, to grant - the copyright license set forth in this Agreement. - - e) Notwithstanding the terms of any Secondary License, no - Contributor makes additional grants to any Recipient (other than - those set forth in this Agreement) as a result of such Recipient's - receipt of the Program under the terms of a Secondary License - (if permitted under the terms of Section 3). - -3. REQUIREMENTS - -3.1 If a Contributor Distributes the Program in any form, then: - - a) the Program must also be made available as Source Code, in - accordance with section 3.2, and the Contributor must accompany - the Program with a statement that the Source Code for the Program - is available under this Agreement, and informs Recipients how to - obtain it in a reasonable manner on or through a medium customarily - used for software exchange; and - - b) the Contributor may Distribute the Program under a license - different than this Agreement, provided that such license: - i) effectively disclaims on behalf of all other Contributors all - warranties and conditions, express and implied, including - warranties or conditions of title and non-infringement, and - implied warranties or conditions of merchantability and fitness - for a particular purpose; - - ii) effectively excludes on behalf of all other Contributors all - liability for damages, including direct, indirect, special, - incidental and consequential damages, such as lost profits; - - iii) does not attempt to limit or alter the recipients' rights - in the Source Code under section 3.2; and - - iv) requires any subsequent distribution of the Program by any - party to be under a license that satisfies the requirements - of this section 3. - -3.2 When the Program is Distributed as Source Code: - - a) it must be made available under this Agreement, or if the - Program (i) is combined with other material in a separate file or - files made available under a Secondary License, and (ii) the initial - Contributor attached to the Source Code the notice described in - Exhibit A of this Agreement, then the Program may be made available - under the terms of such Secondary Licenses, and - - b) a copy of this Agreement must be included with each copy of - the Program. - -3.3 Contributors may not remove or alter any copyright, patent, -trademark, attribution notices, disclaimers of warranty, or limitations -of liability ("notices") contained within the Program from any copy of -the Program which they Distribute, provided that Contributors may add -their own appropriate notices. - -4. COMMERCIAL DISTRIBUTION - -Commercial distributors of software may accept certain responsibilities -with respect to end users, business partners and the like. While this -license is intended to facilitate the commercial use of the Program, -the Contributor who includes the Program in a commercial product -offering should do so in a manner which does not create potential -liability for other Contributors. Therefore, if a Contributor includes -the Program in a commercial product offering, such Contributor -("Commercial Contributor") hereby agrees to defend and indemnify every -other Contributor ("Indemnified Contributor") against any losses, -damages and costs (collectively "Losses") arising from claims, lawsuits -and other legal actions brought by a third party against the Indemnified -Contributor to the extent caused by the acts or omissions of such -Commercial Contributor in connection with its distribution of the Program -in a commercial product offering. The obligations in this section do not -apply to any claims or Losses relating to any actual or alleged -intellectual property infringement. In order to qualify, an Indemnified -Contributor must: a) promptly notify the Commercial Contributor in -writing of such claim, and b) allow the Commercial Contributor to control, -and cooperate with the Commercial Contributor in, the defense and any -related settlement negotiations. The Indemnified Contributor may -participate in any such claim at its own expense. - -For example, a Contributor might include the Program in a commercial -product offering, Product X. That Contributor is then a Commercial -Contributor. If that Commercial Contributor then makes performance -claims, or offers warranties related to Product X, those performance -claims and warranties are such Commercial Contributor's responsibility -alone. Under this section, the Commercial Contributor would have to -defend claims against the other Contributors related to those performance -claims and warranties, and if a court requires any other Contributor to -pay any damages as a result, the Commercial Contributor must pay -those damages. - -5. NO WARRANTY - -EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, AND TO THE EXTENT -PERMITTED BY APPLICABLE LAW, THE PROGRAM IS PROVIDED ON AN "AS IS" -BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR -IMPLIED INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF -TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR -PURPOSE. Each Recipient is solely responsible for determining the -appropriateness of using and distributing the Program and assumes all -risks associated with its exercise of rights under this Agreement, -including but not limited to the risks and costs of program errors, -compliance with applicable laws, damage to or loss of data, programs -or equipment, and unavailability or interruption of operations. - -6. DISCLAIMER OF LIABILITY - -EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, AND TO THE EXTENT -PERMITTED BY APPLICABLE LAW, NEITHER RECIPIENT NOR ANY CONTRIBUTORS -SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING WITHOUT LIMITATION LOST -PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN -CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) -ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF THE PROGRAM OR THE -EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGES. - -7. GENERAL - -If any provision of this Agreement is invalid or unenforceable under -applicable law, it shall not affect the validity or enforceability of -the remainder of the terms of this Agreement, and without further -action by the parties hereto, such provision shall be reformed to the -minimum extent necessary to make such provision valid and enforceable. - -If Recipient institutes patent litigation against any entity -(including a cross-claim or counterclaim in a lawsuit) alleging that the -Program itself (excluding combinations of the Program with other software -or hardware) infringes such Recipient's patent(s), then such Recipient's -rights granted under Section 2(b) shall terminate as of the date such -litigation is filed. - -All Recipient's rights under this Agreement shall terminate if it -fails to comply with any of the material terms or conditions of this -Agreement and does not cure such failure in a reasonable period of -time after becoming aware of such noncompliance. If all Recipient's -rights under this Agreement terminate, Recipient agrees to cease use -and distribution of the Program as soon as reasonably practicable. -However, Recipient's obligations under this Agreement and any licenses -granted by Recipient relating to the Program shall continue and survive. - -Everyone is permitted to copy and distribute copies of this Agreement, -but in order to avoid inconsistency the Agreement is copyrighted and -may only be modified in the following manner. The Agreement Steward -reserves the right to publish new versions (including revisions) of -this Agreement from time to time. No one other than the Agreement -Steward has the right to modify this Agreement. The Eclipse Foundation -is the initial Agreement Steward. The Eclipse Foundation may assign the -responsibility to serve as the Agreement Steward to a suitable separate -entity. Each new version of the Agreement will be given a distinguishing -version number. The Program (including Contributions) may always be -Distributed subject to the version of the Agreement under which it was -received. In addition, after a new version of the Agreement is published, -Contributor may elect to Distribute the Program (including its -Contributions) under the new version. - -Except as expressly stated in Sections 2(a) and 2(b) above, Recipient -receives no rights or licenses to the intellectual property of any -Contributor under this Agreement, whether expressly, by implication, -estoppel or otherwise. All rights in the Program not expressly granted -under this Agreement are reserved. Nothing in this Agreement is intended -to be enforceable by any entity that is not a Contributor or Recipient. -No third-party beneficiary rights are created under this Agreement. - -Exhibit A - Form of Secondary Licenses Notice - -"This Source Code may also be made available under the following -Secondary Licenses when the conditions for such availability set forth -in the Eclipse Public License, v. 2.0 are satisfied: {name license(s), -version(s), and exceptions or additional permissions here}." - - Simply including a copy of this Agreement, including this Exhibit A - is not sufficient to license the Source Code under Secondary Licenses. - - If it is not possible or desirable to put the notice in a particular - file, then You may include the notice in a location (such as a LICENSE - file in a relevant directory) where a recipient would be likely to - look for such a notice. - - You may add additional accurate notices of copyright ownership. diff --git a/META-INF/LICENSE.THIRD-PARTY.txt b/META-INF/LICENSE.THIRD-PARTY.txt new file mode 100644 index 0000000..dbf9cd0 --- /dev/null +++ b/META-INF/LICENSE.THIRD-PARTY.txt @@ -0,0 +1,21 @@ + +Lists of 19 third-party dependencies. + (MIT license) Animal Sniffer Annotations (org.codehaus.mojo:animal-sniffer-annotations:1.9 - http://mojo.codehaus.org/animal-sniffer/animal-sniffer-annotations) + (Apache-2.0) Apache Commons IO (commons-io:commons-io:2.20.0 - https://commons.apache.org/proper/commons-io/) + (Apache-2.0) Apache Commons Lang (org.apache.commons:commons-lang3:3.19.0 - https://commons.apache.org/proper/commons-lang/) + (Apache License, Version 2.0) Apache Felix Declarative Services (org.apache.felix:org.apache.felix.scr:2.2.2 - http://felix.apache.org/org.apache.felix.scr/) + (Unicode/ICU License) ICU4J (com.ibm.icu:icu4j:67.1 - http://icu-project.org/) + (Apache License v2.0) (LGPL, version 2.1) Java Native Access (net.java.dev.jna:jna:5.8.0 - https://github.com/java-native-access/jna) + (Apache License v2.0) (LGPL, version 2.1) Java Native Access Platform (net.java.dev.jna:jna-platform:5.8.0 - https://github.com/java-native-access/jna) + (Eclipse Public License 2.0) jstuff-core (net.sf.jstuff:jstuff-core:8.2.0 - https://github.com/sebthom/jstuff/jstuff-core) + (Eclipse Public License 2.0) no-npe-eea-all (com.vegardit.no-npe:no-npe-eea-all:1.3.13-20260505.110916-5 - https://github.com/vegardit/no-npe/no-npe-eea-all) + (Unknown license) open-with-eclipse-feature (de.sebthom.eclipse.open_with_eclipse:de.sebthom.eclipse.open_with_eclipse.feature:1.0.0-SNAPSHOT - no url defined) + (Unknown license) open-with-eclipse-plugin (de.sebthom.eclipse.open_with_eclipse:de.sebthom.eclipse.open_with_eclipse:1.0.0-SNAPSHOT - no url defined) + (Apache License, Version 2.0) org.osgi:org.osgi.namespace.extender (org.osgi:org.osgi.namespace.extender:1.0.1 - http://www.osgi.org/) + (Apache License, Version 2.0) org.osgi:org.osgi.namespace.implementation (org.osgi:org.osgi.namespace.implementation:1.0.0 - http://www.osgi.org/) + (Apache-2.0) org.osgi:org.osgi.service.component (org.osgi:org.osgi.service.component:1.5.0 - https://docs.osgi.org/) + (Apache-2.0) org.osgi:org.osgi.service.event (org.osgi:org.osgi.service.event:1.4.1 - https://docs.osgi.org/) + (Apache-2.0) org.osgi:org.osgi.service.prefs (org.osgi:org.osgi.service.prefs:1.1.2 - https://docs.osgi.org/) + (Apache-2.0) org.osgi:org.osgi.util.function (org.osgi:org.osgi.util.function:1.2.0 - https://docs.osgi.org/) + (Apache-2.0) org.osgi:org.osgi.util.promise (org.osgi:org.osgi.util.promise:1.2.0 - https://docs.osgi.org/) + (Apache-2.0) org.osgi:osgi.annotation (org.osgi:osgi.annotation:8.0.1 - https://docs.osgi.org/) diff --git a/README.md b/README.md deleted file mode 100644 index c57f277..0000000 --- a/README.md +++ /dev/null @@ -1,101 +0,0 @@ -# "Open with Eclipse" plugin for Eclipse - -[![Build Status](https://github.com/sebthom/open-with-eclipse-plugin/actions/workflows/build.yml/badge.svg)](https://github.com/sebthom/open-with-eclipse-plugin/actions/workflows/build.yml) -[![Contributor Covenant](https://img.shields.io/badge/Contributor%20Covenant-v2.0%20adopted-ff69b4.svg)](CODE_OF_CONDUCT.md) -[![License](https://img.shields.io/github/license/sebthom/open-with-eclipse-plugin.svg?color=blue)](LICENSE.txt) -[![Eclipse Marketplace](https://img.shields.io/eclipse-marketplace/dt/open-eclipse-plugin?logo=eclipse&label=Downloads)](https://marketplace.eclipse.org/content/open-eclipse-plugin) - - -**Feedback and high-quality pull requests are highly welcome!** - -1. [What is it?](#what-is-it) -1. [Installation](#installation) -1. [Building from Sources](#building) -1. [License](#license) - - -## What is it? - -This plugin allows you to register a Windows Explorer "Open with Eclipse" menu entry for your Eclipse installation. - -![](src/site/img/contextmenu.png) - -![](src/site/img/prefs.png) - - -## Installation - -To install the plugin into an existing Eclipse installation do: -1. Within Eclipse go to: Help -> Install New Software... -1. Enter the following update site URL: https://raw.githubusercontent.com/sebthom/open-with-eclipse-plugin/updatesite -1. Select the `Open with Eclipse` feature to install. -1. Ensure that the option `Contact all update sites during install to find required software` is enabled. -1. Click `Next` twice. -1. Read/accept the license terms and click `Finish`. -1. Eclipse will now download the necessary files in the background. -1. When the download has finished, Eclipse will ask about installing unsigned content. You need to accept if you want to -1. After installation you will be prompted for a restart of Eclipse, which is recommended. - - -## Building from Sources - -To ensure reproducible builds this Maven project inherits from the [vegardit-maven-parent](https://github.com/vegardit/vegardit-maven-parent) -project which declares fixed versions and sensible default settings for all official Maven plug-ins. - -The project also uses the [maven-toolchains-plugin](http://maven.apache.org/plugins/maven-toolchains-plugin/) which decouples the JDK that is -used to execute Maven and it's plug-ins from the target JDK that is used for compilation and/or unit testing. This ensures full binary -compatibility of the compiled artifacts with the runtime library of the required target JDK. - -To build the project follow these steps: - -1. Download and install a Java 17 SDK, e.g. from: - - https://adoptium.net/releases.html?variant=openjdk17 - - https://www.azul.com/downloads/?version=java-17-lts&architecture=x86-64-bit&package=jdk - -1. Download and install the latest [Maven distribution](https://maven.apache.org/download.cgi). - -1. In your user home directory create the file `.m2/toolchains.xml` with the following content: - - ```xml - - - - jdk - - 17 - default - - - [PATH_TO_YOUR_JDK_17] - - - - ``` - - Set the `[PATH_TO_YOUR_JDK_17]` parameter accordingly. - -1. Checkout the code using one of the following methods: - - - `git clone https://github.com/sebthom/open-with-eclipse-plugin` - - `svn co https://github.com/sebthom/open-with-eclipse-plugin open-with-eclipse-plugin` - -1. Run `mvn clean verify` in the project root directory. This will execute compilation, unit-testing, integration-testing and - packaging of all artifacts. - - -## License - -If not otherwise specified (see below), files in this repository fall under the [Eclipse Public License 2.0](LICENSE.txt). - -Individual files contain the following tag instead of the full license text: -``` -SPDX-License-Identifier: EPL-2.0 -``` - -This enables machine processing of license information based on the SPDX License Identifiers that are available here: https://spdx.org/licenses/. - -An exception is made for: -1. files in readable text which contain their own license information, or -2. files in a directory containing a separate `LICENSE.txt` file, or -3. files where an accompanying file exists in the same directory with a `.LICENSE.txt` suffix added to the base-name of the original file. - For example `foobar.js` is may be accompanied by a `foobar.LICENSE.txt` license file. diff --git a/artifacts.jar b/artifacts.jar new file mode 100644 index 0000000..f59ec6e Binary files /dev/null and b/artifacts.jar differ diff --git a/artifacts.xml.xz b/artifacts.xml.xz new file mode 100644 index 0000000..502a759 Binary files /dev/null and b/artifacts.xml.xz differ diff --git a/build.target b/build.target deleted file mode 100644 index f8bc0f6..0000000 --- a/build.target +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/content.jar b/content.jar new file mode 100644 index 0000000..f0e9651 Binary files /dev/null and b/content.jar differ diff --git a/content.xml.xz b/content.xml.xz new file mode 100644 index 0000000..23dd5c4 Binary files /dev/null and b/content.xml.xz differ diff --git a/feature/build.properties b/feature/build.properties deleted file mode 100644 index b3a611b..0000000 --- a/feature/build.properties +++ /dev/null @@ -1,2 +0,0 @@ -bin.includes = feature.xml,\ - feature.properties diff --git a/feature/feature.properties b/feature/feature.properties deleted file mode 100644 index 5894d16..0000000 --- a/feature/feature.properties +++ /dev/null @@ -1,14 +0,0 @@ -name=Open with Eclipse -description=Open with Eclipse plugin - -copyright=\ -Copyright 2021-2022 by Sebastian Thomschke and contributors.\n\ -\n\ -All rights reserved. This program and the accompanying materials \ -are made available under the terms of the Eclipse Public License v2.0 \ -which accompanies this distribution, and is available at \ -https://www.eclipse.org/legal/epl-v20.html\n\ -\n\ -Visit https://github.com/sebthom/open-with-eclipse-plugin\n - -licenseURL=https://www.eclipse.org/legal/epl-v20.html diff --git a/feature/feature.xml b/feature/feature.xml deleted file mode 100644 index 046db81..0000000 --- a/feature/feature.xml +++ /dev/null @@ -1,55 +0,0 @@ - - - - - - %description - - - - %copyright - - - - %license - - - - - - - - - - - - - - - - - - - - - - - diff --git a/feature/pom.xml b/feature/pom.xml deleted file mode 100644 index fff6c21..0000000 --- a/feature/pom.xml +++ /dev/null @@ -1,22 +0,0 @@ - - - - - 4.0.0 - - - de.sebthom.eclipse.open_with_eclipse - de.sebthom.eclipse.open_with_eclipse.parent - 1.0.0-SNAPSHOT - - - open-with-eclipse-feature - de.sebthom.eclipse.open_with_eclipse.feature - eclipse-feature - diff --git a/features/de.sebthom.eclipse.open_with_eclipse.feature_1.0.0.20260601-1952.jar b/features/de.sebthom.eclipse.open_with_eclipse.feature_1.0.0.20260601-1952.jar new file mode 100644 index 0000000..8e1fb72 Binary files /dev/null and b/features/de.sebthom.eclipse.open_with_eclipse.feature_1.0.0.20260601-1952.jar differ diff --git a/index.html b/index.html new file mode 100644 index 0000000..a4bb43d --- /dev/null +++ b/index.html @@ -0,0 +1,9 @@ + + + + sebthom/open-with-eclipse-plugin - Update Site + + +

4324GITHUB_REPO - Update Site

+ + diff --git a/p2.index b/p2.index new file mode 100644 index 0000000..8f5035a --- /dev/null +++ b/p2.index @@ -0,0 +1,4 @@ +#Mon Jun 01 19:54:59 UTC 2026 +artifact.repository.factory.order=artifacts.xml.xz,artifacts.xml,\! +metadata.repository.factory.order=content.xml.xz,content.xml,\! +version=1 diff --git a/plugin/.settings/org.eclipse.jdt.core.prefs b/plugin/.settings/org.eclipse.jdt.core.prefs deleted file mode 100644 index c9076a2..0000000 --- a/plugin/.settings/org.eclipse.jdt.core.prefs +++ /dev/null @@ -1,118 +0,0 @@ -eclipse.preferences.version=1 -org.eclipse.jdt.core.builder.annotationPath.allLocations=enabled -org.eclipse.jdt.core.compiler.annotation.inheritNullAnnotations=enabled -org.eclipse.jdt.core.compiler.annotation.missingNonNullByDefaultAnnotation=ignore -org.eclipse.jdt.core.compiler.annotation.nonnull=org.eclipse.jdt.annotation.NonNull -org.eclipse.jdt.core.compiler.annotation.nonnull.secondary= -org.eclipse.jdt.core.compiler.annotation.nonnullbydefault=org.eclipse.jdt.annotation.NonNullByDefault -org.eclipse.jdt.core.compiler.annotation.nonnullbydefault.secondary= -org.eclipse.jdt.core.compiler.annotation.nullable=org.eclipse.jdt.annotation.Nullable -org.eclipse.jdt.core.compiler.annotation.nullable.secondary= -org.eclipse.jdt.core.compiler.annotation.nullanalysis=enabled -org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled -org.eclipse.jdt.core.compiler.codegen.methodParameters=generate -org.eclipse.jdt.core.compiler.codegen.targetPlatform=17 -org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve -org.eclipse.jdt.core.compiler.compliance=17 -org.eclipse.jdt.core.compiler.debug.lineNumber=generate -org.eclipse.jdt.core.compiler.debug.localVariable=generate -org.eclipse.jdt.core.compiler.debug.sourceFile=generate -org.eclipse.jdt.core.compiler.problem.APILeak=warning -org.eclipse.jdt.core.compiler.problem.annotatedTypeArgumentToUnannotated=info -org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning -org.eclipse.jdt.core.compiler.problem.assertIdentifier=error -org.eclipse.jdt.core.compiler.problem.autoboxing=ignore -org.eclipse.jdt.core.compiler.problem.comparingIdentical=warning -org.eclipse.jdt.core.compiler.problem.deadCode=warning -org.eclipse.jdt.core.compiler.problem.deprecation=warning -org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled -org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled -org.eclipse.jdt.core.compiler.problem.discouragedReference=warning -org.eclipse.jdt.core.compiler.problem.emptyStatement=warning -org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled -org.eclipse.jdt.core.compiler.problem.enumIdentifier=error -org.eclipse.jdt.core.compiler.problem.explicitlyClosedAutoCloseable=ignore -org.eclipse.jdt.core.compiler.problem.fallthroughCase=warning -org.eclipse.jdt.core.compiler.problem.fatalOptionalError=disabled -org.eclipse.jdt.core.compiler.problem.fieldHiding=warning -org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning -org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning -org.eclipse.jdt.core.compiler.problem.forbiddenReference=error -org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning -org.eclipse.jdt.core.compiler.problem.includeNullInfoFromAsserts=enabled -org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning -org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=warning -org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=ignore -org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore -org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning -org.eclipse.jdt.core.compiler.problem.missingDefaultCase=ignore -org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=warning -org.eclipse.jdt.core.compiler.problem.missingEnumCaseDespiteDefault=disabled -org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=warning -org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=warning -org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=enabled -org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning -org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=info -org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning -org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning -org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=ignore -org.eclipse.jdt.core.compiler.problem.nonnullParameterAnnotationDropped=warning -org.eclipse.jdt.core.compiler.problem.nonnullTypeVariableFromLegacyInvocation=warning -org.eclipse.jdt.core.compiler.problem.nullAnnotationInferenceConflict=error -org.eclipse.jdt.core.compiler.problem.nullReference=error -org.eclipse.jdt.core.compiler.problem.nullSpecViolation=error -org.eclipse.jdt.core.compiler.problem.nullUncheckedConversion=warning -org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning -org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore -org.eclipse.jdt.core.compiler.problem.pessimisticNullAnalysisForFreeTypeVariables=warning -org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning -org.eclipse.jdt.core.compiler.problem.potentialNullReference=error -org.eclipse.jdt.core.compiler.problem.potentiallyUnclosedCloseable=warning -org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning -org.eclipse.jdt.core.compiler.problem.redundantNullAnnotation=warning -org.eclipse.jdt.core.compiler.problem.redundantNullCheck=warning -org.eclipse.jdt.core.compiler.problem.redundantSpecificationOfTypeArguments=warning -org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=warning -org.eclipse.jdt.core.compiler.problem.reportMethodCanBePotentiallyStatic=ignore -org.eclipse.jdt.core.compiler.problem.reportMethodCanBeStatic=ignore -org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning -org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled -org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning -org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled -org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled -org.eclipse.jdt.core.compiler.problem.suppressWarningsNotFullyAnalysed=info -org.eclipse.jdt.core.compiler.problem.syntacticNullAnalysisForFields=enabled -org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore -org.eclipse.jdt.core.compiler.problem.terminalDeprecation=warning -org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning -org.eclipse.jdt.core.compiler.problem.unavoidableGenericTypeProblems=disabled -org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning -org.eclipse.jdt.core.compiler.problem.unclosedCloseable=warning -org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore -org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning -org.eclipse.jdt.core.compiler.problem.unlikelyCollectionMethodArgumentType=warning -org.eclipse.jdt.core.compiler.problem.unlikelyCollectionMethodArgumentTypeStrict=disabled -org.eclipse.jdt.core.compiler.problem.unlikelyEqualsArgumentType=info -org.eclipse.jdt.core.compiler.problem.unnecessaryElse=warning -org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning -org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore -org.eclipse.jdt.core.compiler.problem.unstableAutoModuleName=warning -org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=warning -org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=enabled -org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled -org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled -org.eclipse.jdt.core.compiler.problem.unusedExceptionParameter=ignore -org.eclipse.jdt.core.compiler.problem.unusedImport=warning -org.eclipse.jdt.core.compiler.problem.unusedLabel=warning -org.eclipse.jdt.core.compiler.problem.unusedLocal=warning -org.eclipse.jdt.core.compiler.problem.unusedObjectAllocation=warning -org.eclipse.jdt.core.compiler.problem.unusedParameter=warning -org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled -org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled -org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled -org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning -org.eclipse.jdt.core.compiler.problem.unusedTypeParameter=ignore -org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning -org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning -org.eclipse.jdt.core.compiler.release=enabled -org.eclipse.jdt.core.compiler.source=17 diff --git a/plugin/META-INF/MANIFEST.MF b/plugin/META-INF/MANIFEST.MF deleted file mode 100644 index ecd8837..0000000 --- a/plugin/META-INF/MANIFEST.MF +++ /dev/null @@ -1,19 +0,0 @@ -Manifest-Version: 1.0 -Bundle-ManifestVersion: 2 -Bundle-Name: %OpenWithEclipse_PluginName -Bundle-SymbolicName: de.sebthom.eclipse.open_with_eclipse;singleton:=true -Bundle-Version: 1.0.0.qualifier -Bundle-Vendor: Sebastian Thomschke -Bundle-Localization: src/main/java/de/sebthom/eclipse/open_with_eclipse/localization/messages -Automatic-Module-Name: de.sebthom.eclipse.open_with_eclipse -Bundle-Activator: de.sebthom.eclipse.open_with_eclipse.Plugin -Bundle-ActivationPolicy: lazy -Bundle-RequiredExecutionEnvironment: JavaSE-17 -Bundle-ClassPath: . -Require-Bundle: org.eclipse.platform;bundle-version="4.25.0", - org.eclipse.core.runtime, - org.eclipse.osgi, - org.eclipse.ui, - org.apache.commons.lang3;bundle-version="[3.19.0,4.0.0)", - de.sebthom.eclipse.commons;bundle-version="[1.0.0.20251127-1946,2.0.0)", - net.sf.jstuff.core;bundle-version="[8.2.0,9.0.0)" diff --git a/plugin/about.ini b/plugin/about.ini deleted file mode 100644 index fca05ad..0000000 --- a/plugin/about.ini +++ /dev/null @@ -1,13 +0,0 @@ -# https://ekkescorner.wordpress.com/2010/06/13/brand-your-feature-and-be-part-of-about-eclipse/ -featureImage=src/main/resources/images/open_with_eclipse@2x.png -aboutText=\ -Open with Eclipse\n\ -\n\ -Copyright 2021-2022 by Sebastian Thomschke and contributors.\n\ -\n\ -All rights reserved. This program and the accompanying materials \ -are made available under the terms of the Eclipse Public License v2.0 \ -which accompanies this distribution, and is available at \ -https://www.eclipse.org/legal/epl-v20.html\n\ -\n\ -Visit https://github.com/sebthom/open-with-eclipse-plugin diff --git a/plugin/build.properties b/plugin/build.properties deleted file mode 100644 index 717ab81..0000000 --- a/plugin/build.properties +++ /dev/null @@ -1,12 +0,0 @@ -source.. = src/main/java/ -output.. = target/classes/ -bin.includes = META-INF/,\ - .,\ - plugin.xml,\ - src/main/resources/,\ - about.ini,\ - src/main/java/de/sebthom/eclipse/open_with_eclipse/localization/ -bin.excludes = src/main/java/de/sebthom/eclipse/open_with_eclipse/localization/Messages.java - -# JDT Null Analysis for Eclipse -additional.bundles = org.eclipse.jdt.annotation diff --git a/plugin/plugin.xml b/plugin/plugin.xml deleted file mode 100644 index 8ba9bb8..0000000 --- a/plugin/plugin.xml +++ /dev/null @@ -1,19 +0,0 @@ - - - - - - - - - - - - - - - - - diff --git a/plugin/pom.xml b/plugin/pom.xml deleted file mode 100644 index 2431a3c..0000000 --- a/plugin/pom.xml +++ /dev/null @@ -1,33 +0,0 @@ - - - - - 4.0.0 - - - de.sebthom.eclipse.open_with_eclipse - de.sebthom.eclipse.open_with_eclipse.parent - 1.0.0-SNAPSHOT - - - open-with-eclipse-plugin - de.sebthom.eclipse.open_with_eclipse - eclipse-plugin - - - - true - - - - \ No newline at end of file diff --git a/plugin/src/main/java/de/sebthom/eclipse/open_with_eclipse/Constants.java b/plugin/src/main/java/de/sebthom/eclipse/open_with_eclipse/Constants.java deleted file mode 100644 index 33d408e..0000000 --- a/plugin/src/main/java/de/sebthom/eclipse/open_with_eclipse/Constants.java +++ /dev/null @@ -1,19 +0,0 @@ -/* - * Copyright 2021-2022 by Sebastian Thomschke and contributors - * SPDX-License-Identifier: EPL-2.0 - */ -package de.sebthom.eclipse.open_with_eclipse; - -import java.nio.file.Path; - -/** - * @author Sebastian Thomschke - */ -public interface Constants { - - String IMAGE_ICON = "src/main/resources/images/open_with_eclipse.png"; - - Path LAUNCHER_EXE = Path.of(System.getProperty("eclipse.launcher", "eclipse.exe")); - - String LAUNCHER_NAME = System.getProperty("eclipse.launcher.name", "Eclipse"); -} diff --git a/plugin/src/main/java/de/sebthom/eclipse/open_with_eclipse/Plugin.java b/plugin/src/main/java/de/sebthom/eclipse/open_with_eclipse/Plugin.java deleted file mode 100644 index d757fc1..0000000 --- a/plugin/src/main/java/de/sebthom/eclipse/open_with_eclipse/Plugin.java +++ /dev/null @@ -1,84 +0,0 @@ -/* - * Copyright 2021-2022 by Sebastian Thomschke and contributors - * SPDX-License-Identifier: EPL-2.0 - */ -package de.sebthom.eclipse.open_with_eclipse; - -import static net.sf.jstuff.core.validation.NullAnalysisHelper.*; - -import org.eclipse.jdt.annotation.Nullable; -import org.eclipse.jface.resource.ImageRegistry; -import org.osgi.framework.BundleContext; - -import de.sebthom.eclipse.commons.AbstractEclipsePlugin; -import de.sebthom.eclipse.commons.BundleResources; -import de.sebthom.eclipse.commons.logging.PluginLogger; -import de.sebthom.eclipse.commons.logging.StatusFactory; -import net.sf.jstuff.core.reflection.Fields; -import net.sf.jstuff.core.validation.Assert; - -/** - * @author Sebastian Thomschke - */ -public class Plugin extends AbstractEclipsePlugin { - - /** - * during runtime you can get ID with getBundle().getSymbolicName() - */ - public static final String PLUGIN_ID = asNonNull(Plugin.class.getPackage()).getName().replace('_', '-'); - - private static @Nullable Plugin instance; - - /** - * @return the shared instance - */ - public static Plugin get() { - Assert.notNull(instance, "Default plugin instance is still null."); - return asNonNull(instance); - } - - public static PluginLogger log() { - return get().getLogger(); - } - - public static BundleResources resources() { - return get().getBundleResources(); - } - - public static StatusFactory status() { - return get().getStatusFactory(); - } - - @Override - public BundleResources getBundleResources() { - var bundleResources = this.bundleResources; - if (bundleResources == null) { - bundleResources = this.bundleResources = new BundleResources(this, "src/main/resources"); - } - return bundleResources; - } - - @Override - protected void initializeImageRegistry(final ImageRegistry registry) { - for (final var field : Constants.class.getFields()) { - if (Fields.isStatic(field) && field.getType() == String.class && field.getName().startsWith("IMAGE_")) { - final String imagePath = Fields.read(null, field); - if (imagePath != null) { - registerImage(registry, imagePath); - } - } - } - } - - @Override - public void start(final BundleContext context) throws Exception { - super.start(context); - instance = this; - } - - @Override - public void stop(final BundleContext context) throws Exception { - instance = null; - super.stop(context); - } -} diff --git a/plugin/src/main/java/de/sebthom/eclipse/open_with_eclipse/StartupListener.java b/plugin/src/main/java/de/sebthom/eclipse/open_with_eclipse/StartupListener.java deleted file mode 100644 index 4c638db..0000000 --- a/plugin/src/main/java/de/sebthom/eclipse/open_with_eclipse/StartupListener.java +++ /dev/null @@ -1,92 +0,0 @@ -/* - * Copyright 2021-2022 by Sebastian Thomschke and contributors - * SPDX-License-Identifier: EPL-2.0 - */ -package de.sebthom.eclipse.open_with_eclipse; - -import org.eclipse.jface.dialogs.IDialogConstants; -import org.eclipse.jface.dialogs.MessageDialog; -import org.eclipse.osgi.util.NLS; -import org.eclipse.swt.SWT; -import org.eclipse.swt.layout.GridData; -import org.eclipse.swt.layout.GridLayout; -import org.eclipse.swt.widgets.Composite; -import org.eclipse.swt.widgets.Control; -import org.eclipse.swt.widgets.Label; -import org.eclipse.swt.widgets.Text; -import org.eclipse.ui.IStartup; - -import de.sebthom.eclipse.commons.system.win.WindowsRegistry; -import de.sebthom.eclipse.commons.ui.Texts; -import de.sebthom.eclipse.commons.ui.UI; -import de.sebthom.eclipse.open_with_eclipse.localization.Messages; -import de.sebthom.eclipse.open_with_eclipse.prefs.PluginPreference; -import net.sf.jstuff.core.Strings; -import net.sf.jstuff.core.ref.MutableObservableRef; - -/** - * @author Sebastian Thomschke - */ -public class StartupListener implements IStartup { - - @Override - public void earlyStartup() { - if (!WindowsRegistry.isSupported()) - return; - - WindowsRegistryHelper.purgeInvalidOpenWithRegistryEntries(); - - if (PluginPreference.isCreateOpenWithRegistration() // - && !WindowsRegistryHelper.hasOpenWithRegistryEntry()) { - - UI.run(() -> { - final var menuEntryLabel = MutableObservableRef.of(PluginPreference.getOpenWithContextMenuEntryLabel()); - - final var dlg = new MessageDialog( // - UI.getShell(), // - NLS.bind(Messages.OpenWithEclipse_NoOpenWithContextMenuEntry_Title, Constants.LAUNCHER_NAME), // window title - Plugin.get().getSharedImage(Constants.IMAGE_ICON), // window icon - NLS.bind("No \"{0}\" entry in the Windows right-click/context menu yet.", PluginPreference - .getOpenWithContextMenuEntryLabel()), // top message - 0, // top message icon, e.g. MessageDialog.INFORMATION - 1, // default button: OK - IDialogConstants.YES_LABEL, IDialogConstants.NO_LABEL // button labels - ) { - @Override - @SuppressWarnings("unused") - protected Control createCustomArea(final Composite parent) { - new Label(parent, SWT.NONE); // spacer - - final var question = new Label(parent, SWT.NONE); - question.setText(NLS.bind(Messages.OpenWithEclipse_NoOpenWithContextMenuEntry_Question, Constants.LAUNCHER_NAME)); - - final var group = new Composite(parent, SWT.BORDER); - group.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false, 1, 1)); - group.setLayout(new GridLayout(2, false)); - - final var entryLabel = new Label(group, SWT.NONE); - entryLabel.setText(Messages.OpenWithEclipse_Pref_ContextMentyEntryLabel); - entryLabel.setLayoutData(new GridData(SWT.LEFT, SWT.CENTER, false, false, 1, 1)); - - final var entryText = new Text(group, SWT.BORDER); - entryText.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false, 1, 1)); - Texts.bind(entryText, menuEntryLabel); - Texts.onModified(entryText, txt -> getButton(IDialogConstants.OK_ID).setEnabled(Strings.isNotBlank(txt))); - - return group; - } - }; - - if (dlg.open() == IDialogConstants.OK_ID) { - PluginPreference.setCreateOpenWithRegistration(true); - PluginPreference.setOpenWithContextMenuEntryLabel(menuEntryLabel.get()); - PluginPreference.save(); - WindowsRegistryHelper.createOpenWithRegistryEntry(Constants.LAUNCHER_EXE, menuEntryLabel.get()); - } else { - PluginPreference.setCreateOpenWithRegistration(false); - PluginPreference.save(); - } - }); - } - } -} diff --git a/plugin/src/main/java/de/sebthom/eclipse/open_with_eclipse/WindowsRegistryHelper.java b/plugin/src/main/java/de/sebthom/eclipse/open_with_eclipse/WindowsRegistryHelper.java deleted file mode 100644 index 7e06a29..0000000 --- a/plugin/src/main/java/de/sebthom/eclipse/open_with_eclipse/WindowsRegistryHelper.java +++ /dev/null @@ -1,104 +0,0 @@ -/* - * Copyright 2021-2022 by Sebastian Thomschke and contributors - * SPDX-License-Identifier: EPL-2.0 - */ -package de.sebthom.eclipse.open_with_eclipse; - -import static de.sebthom.eclipse.commons.system.win.WindowsRegistry.*; - -import java.nio.file.Files; -import java.nio.file.Path; - -import org.eclipse.jdt.annotation.Nullable; - -import de.sebthom.eclipse.commons.system.win.WindowsRegistry; -import net.sf.jstuff.core.Strings; -import net.sf.jstuff.core.validation.Args; - -/** - * @author Sebastian Thomschke - */ -public abstract class WindowsRegistryHelper { - - private static final String SOFTWARE_CLASSES_WILDCARD_SHELL = WindowsRegistry.join("SOFTWARE", "Classes", "*", "shell"); - private static final @Nullable String DEFAULT_VALUE_NAME = null; - - public static void createOpenWithRegistryEntry(final Path launcherExe, final String contextMenuEntryLabel) { - Args.isFileReadable("launcherExe", launcherExe); - Args.notBlank("contextMenuEntryLabel", contextMenuEntryLabel); - - final var keyPath = WindowsRegistry.join(SOFTWARE_CLASSES_WILDCARD_SHELL, contextMenuEntryLabel); - HKEY_CURRENT_USER.createKey(keyPath, "command"); - HKEY_CURRENT_USER.setStringValue(keyPath, "icon", launcherExe.toAbsolutePath()); - HKEY_CURRENT_USER.setStringValue(keyPath, "entryCreatedBy", Plugin.PLUGIN_ID); - HKEY_CURRENT_USER.setStringValue(keyPath, "command", DEFAULT_VALUE_NAME, getOpenWithCommand(launcherExe)); - } - - private static String getOpenWithCommand(final Path launcherExe) { - return "\"" + launcherExe.toAbsolutePath() + "\" \"%V\""; - } - - /** - * @return a corresponding Open with entry from the registry for the given Eclipse exe or null - */ - private static @Nullable String getOpenWithRegistryEntry(final Path launcherExe) { - final var openWithCommand = getOpenWithCommand(launcherExe); - - for (final var keyName : HKEY_CURRENT_USER.getKeys(SOFTWARE_CLASSES_WILDCARD_SHELL)) { - final var keyPath = WindowsRegistry.join(SOFTWARE_CLASSES_WILDCARD_SHELL, keyName); - if (openWithCommand.equals(HKEY_CURRENT_USER.getStringValue(keyPath, "command", DEFAULT_VALUE_NAME))) - return keyPath; - } - return null; - } - - public static boolean hasOpenWithRegistryEntry() { - return hasOpenWithRegistryEntry(Constants.LAUNCHER_EXE); - } - - private static boolean hasOpenWithRegistryEntry(final Path launcherExe) { - Args.notNull("launcherExe", launcherExe); - - return getOpenWithRegistryEntry(launcherExe) != null; - } - - public static int purgeInvalidOpenWithRegistryEntries() { - var deleted = 0; - for (final var keyName : HKEY_CURRENT_USER.getKeys(SOFTWARE_CLASSES_WILDCARD_SHELL)) { - final var keyPath = WindowsRegistry.join(SOFTWARE_CLASSES_WILDCARD_SHELL, keyName); - final var entryCreatedBy = HKEY_CURRENT_USER.getStringValue(keyPath, "entryCreatedBy"); - if (Plugin.PLUGIN_ID.equals(entryCreatedBy)) { - final var command = HKEY_CURRENT_USER.getStringValue(keyPath, "command", DEFAULT_VALUE_NAME); - if (command != null) { - final var exePath = Strings.substringBetween(command, "\"", "\""); - if (Strings.endsWithIgnoreCase(exePath, ".exe") // - && !Files.exists(Path.of(exePath))) { - HKEY_CURRENT_USER.deleteKey(keyPath, true); - deleted++; - } - } - } - } - return deleted; - } - - public static int removeOpenWithRegistryEntries(final Path launcherExe) { - var deleted = 0; - final var launcherExePath = launcherExe.toAbsolutePath().toString(); - for (final var keyName : HKEY_CURRENT_USER.getKeys(SOFTWARE_CLASSES_WILDCARD_SHELL)) { - final var keyPath = WindowsRegistry.join(SOFTWARE_CLASSES_WILDCARD_SHELL, keyName); - final var entryCreatedBy = HKEY_CURRENT_USER.getStringValue(keyPath, "entryCreatedBy"); - if (Plugin.PLUGIN_ID.equals(entryCreatedBy)) { - final var command = HKEY_CURRENT_USER.getStringValue(keyPath, "command", DEFAULT_VALUE_NAME); - if (command != null) { - final var exePath = Strings.substringBetween(command, "\"", "\""); - if (launcherExePath.equalsIgnoreCase(exePath)) { - HKEY_CURRENT_USER.deleteKey(keyPath, true); - deleted++; - } - } - } - } - return deleted; - } -} diff --git a/plugin/src/main/java/de/sebthom/eclipse/open_with_eclipse/localization/Messages.java b/plugin/src/main/java/de/sebthom/eclipse/open_with_eclipse/localization/Messages.java deleted file mode 100644 index e8b56ca..0000000 --- a/plugin/src/main/java/de/sebthom/eclipse/open_with_eclipse/localization/Messages.java +++ /dev/null @@ -1,36 +0,0 @@ -/* - * Copyright 2021-2022 by Sebastian Thomschke and contributors - * SPDX-License-Identifier: EPL-2.0 - */ -package de.sebthom.eclipse.open_with_eclipse.localization; - -import static net.sf.jstuff.core.validation.NullAnalysisHelper.lateNonNull; - -import de.sebthom.eclipse.commons.localization.MessagesInitializer; - -/** - * @author Sebastian Thomschke - */ -public final class Messages { - - private static final String BUNDLE_NAME = Messages.class.getPackageName() + ".messages"; - - // Keys with default values directly assigned in this class are only used by Java classes. - // Keys without default values are loaded from messages.properties, because they are also referenced in plugin.xml - - // CHECKSTYLE:IGNORE .* FOR NEXT 100 LINES - - public static String OpenWithEclipse_PluginName = lateNonNull(); - public static String OpenWithEclipse_OpenWith = "Open with {0}"; - public static String OpenWithEclipse_Pref_CreateOpenWithRegistration = "Create Windows context/right-click menu entry"; - public static String OpenWithEclipse_Pref_ContextMentyEntryLabel = "Menu entry name:"; - public static String OpenWithEclipse_NoOpenWithContextMenuEntry_Title = "Register {0} with Windows right-click menu?"; - public static String OpenWithEclipse_NoOpenWithContextMenuEntry_Question = "Do you want to create a menu entry for {0} now?"; - - static { - MessagesInitializer.initializeMessages(BUNDLE_NAME, Messages.class); - } - - private Messages() { - } -} diff --git a/plugin/src/main/java/de/sebthom/eclipse/open_with_eclipse/localization/messages.properties b/plugin/src/main/java/de/sebthom/eclipse/open_with_eclipse/localization/messages.properties deleted file mode 100644 index 951f3bd..0000000 --- a/plugin/src/main/java/de/sebthom/eclipse/open_with_eclipse/localization/messages.properties +++ /dev/null @@ -1 +0,0 @@ -OpenWithEclipse_PluginName=Open with Eclipse diff --git a/plugin/src/main/java/de/sebthom/eclipse/open_with_eclipse/localization/package-info.java b/plugin/src/main/java/de/sebthom/eclipse/open_with_eclipse/localization/package-info.java deleted file mode 100644 index 54c0323..0000000 --- a/plugin/src/main/java/de/sebthom/eclipse/open_with_eclipse/localization/package-info.java +++ /dev/null @@ -1,12 +0,0 @@ -/* - * Copyright 2021-2022 by Sebastian Thomschke and contributors - * SPDX-License-Identifier: EPL-2.0 - * - * @author Sebastian Thomschke - */ -@NonNullByDefault({ARRAY_CONTENTS, FIELD, PARAMETER, RETURN_TYPE, TYPE_ARGUMENT, TYPE_BOUND, TYPE_PARAMETER}) -package de.sebthom.eclipse.open_with_eclipse.localization; - -import static org.eclipse.jdt.annotation.DefaultLocation.*; - -import org.eclipse.jdt.annotation.NonNullByDefault; diff --git a/plugin/src/main/java/de/sebthom/eclipse/open_with_eclipse/package-info.java b/plugin/src/main/java/de/sebthom/eclipse/open_with_eclipse/package-info.java deleted file mode 100644 index 2174c1f..0000000 --- a/plugin/src/main/java/de/sebthom/eclipse/open_with_eclipse/package-info.java +++ /dev/null @@ -1,12 +0,0 @@ -/* - * Copyright 2021-2022 by Sebastian Thomschke and contributors - * SPDX-License-Identifier: EPL-2.0 - * - * @author Sebastian Thomschke - */ -@NonNullByDefault({ARRAY_CONTENTS, FIELD, PARAMETER, RETURN_TYPE, TYPE_ARGUMENT, TYPE_BOUND, TYPE_PARAMETER}) -package de.sebthom.eclipse.open_with_eclipse; - -import static org.eclipse.jdt.annotation.DefaultLocation.*; - -import org.eclipse.jdt.annotation.NonNullByDefault; diff --git a/plugin/src/main/java/de/sebthom/eclipse/open_with_eclipse/prefs/PluginPreference.java b/plugin/src/main/java/de/sebthom/eclipse/open_with_eclipse/prefs/PluginPreference.java deleted file mode 100644 index baedfc0..0000000 --- a/plugin/src/main/java/de/sebthom/eclipse/open_with_eclipse/prefs/PluginPreference.java +++ /dev/null @@ -1,61 +0,0 @@ -/* - * Copyright 2021-2022 by Sebastian Thomschke and contributors - * SPDX-License-Identifier: EPL-2.0 - */ -package de.sebthom.eclipse.open_with_eclipse.prefs; - -import java.io.IOException; - -import org.eclipse.jface.preference.IPersistentPreferenceStore; -import org.eclipse.jface.util.IPropertyChangeListener; - -import de.sebthom.eclipse.open_with_eclipse.Plugin; -import net.sf.jstuff.core.io.RuntimeIOException; - -/** - * @author Sebastian Thomschke - */ -public final class PluginPreference { - - public static final String PREFKEY_CREATE_OPEN_WITH_REGISTRATION = "createOpenWithRegistration"; - public static final String PREFKEY_OPEN_WITH_CONTEXT_MENU_ENTRY_LABEL = "openWithContextMenuEntryLabel"; - - public static final IPersistentPreferenceStore STORE = Plugin.get().getPreferenceStore(); - - public static void addListener(final IPropertyChangeListener listener) { - STORE.addPropertyChangeListener(listener); - } - - public static String getOpenWithContextMenuEntryLabel() { - return STORE.getString(PREFKEY_OPEN_WITH_CONTEXT_MENU_ENTRY_LABEL); - } - - public static boolean isCreateOpenWithRegistration() { - return STORE.getBoolean(PREFKEY_CREATE_OPEN_WITH_REGISTRATION); - } - - public static void removeListener(final IPropertyChangeListener listener) { - STORE.removePropertyChangeListener(listener); - } - - public static void save() { - if (STORE.needsSaving()) { - try { - STORE.save(); - } catch (final IOException ex) { - throw new RuntimeIOException(ex); - } - } - } - - public static void setCreateOpenWithRegistration(final boolean value) { - STORE.setValue(PREFKEY_CREATE_OPEN_WITH_REGISTRATION, value); - } - - public static void setOpenWithContextMenuEntryLabel(final String value) { - STORE.setValue(PREFKEY_OPEN_WITH_CONTEXT_MENU_ENTRY_LABEL, value); - } - - private PluginPreference() { - } -} diff --git a/plugin/src/main/java/de/sebthom/eclipse/open_with_eclipse/prefs/PluginPreferenceInitializer.java b/plugin/src/main/java/de/sebthom/eclipse/open_with_eclipse/prefs/PluginPreferenceInitializer.java deleted file mode 100644 index 360193d..0000000 --- a/plugin/src/main/java/de/sebthom/eclipse/open_with_eclipse/prefs/PluginPreferenceInitializer.java +++ /dev/null @@ -1,25 +0,0 @@ -/* - * Copyright 2021-2022 by Sebastian Thomschke and contributors - * SPDX-License-Identifier: EPL-2.0 - */ -package de.sebthom.eclipse.open_with_eclipse.prefs; - -import org.eclipse.core.runtime.preferences.AbstractPreferenceInitializer; -import org.eclipse.osgi.util.NLS; - -import de.sebthom.eclipse.open_with_eclipse.Constants; -import de.sebthom.eclipse.open_with_eclipse.localization.Messages; - -/** - * @author Sebastian Thomschke - */ -public final class PluginPreferenceInitializer extends AbstractPreferenceInitializer { - - @Override - public void initializeDefaultPreferences() { - PluginPreference.STORE.setDefault(PluginPreference.PREFKEY_CREATE_OPEN_WITH_REGISTRATION, true); - PluginPreference.STORE.setDefault(PluginPreference.PREFKEY_OPEN_WITH_CONTEXT_MENU_ENTRY_LABEL, // - NLS.bind(Messages.OpenWithEclipse_OpenWith, Constants.LAUNCHER_NAME) // - ); - } -} diff --git a/plugin/src/main/java/de/sebthom/eclipse/open_with_eclipse/prefs/PluginPreferencePage.java b/plugin/src/main/java/de/sebthom/eclipse/open_with_eclipse/prefs/PluginPreferencePage.java deleted file mode 100644 index 092730a..0000000 --- a/plugin/src/main/java/de/sebthom/eclipse/open_with_eclipse/prefs/PluginPreferencePage.java +++ /dev/null @@ -1,62 +0,0 @@ -/* - * Copyright 2021-2022 by Sebastian Thomschke and contributors - * SPDX-License-Identifier: EPL-2.0 - */ -package de.sebthom.eclipse.open_with_eclipse.prefs; - -import org.eclipse.jface.preference.BooleanFieldEditor; -import org.eclipse.jface.preference.FieldEditorPreferencePage; -import org.eclipse.jface.preference.StringFieldEditor; -import org.eclipse.ui.IWorkbench; -import org.eclipse.ui.IWorkbenchPreferencePage; - -import de.sebthom.eclipse.commons.prefs.fieldeditor.LabelFieldEditor; -import de.sebthom.eclipse.open_with_eclipse.Constants; -import de.sebthom.eclipse.open_with_eclipse.WindowsRegistryHelper; -import de.sebthom.eclipse.open_with_eclipse.localization.Messages; - -/** - * @author Sebastian Thomschke - */ -public final class PluginPreferencePage extends FieldEditorPreferencePage implements IWorkbenchPreferencePage { - - @Override - protected void createFieldEditors() { - final var parent = getFieldEditorParent(); - - addField(new BooleanFieldEditor( // - PluginPreference.PREFKEY_CREATE_OPEN_WITH_REGISTRATION, // - Messages.OpenWithEclipse_Pref_CreateOpenWithRegistration, // - parent // - )); - - addField(new LabelFieldEditor("", parent)); - - addField(new StringFieldEditor( // - PluginPreference.PREFKEY_OPEN_WITH_CONTEXT_MENU_ENTRY_LABEL, // - Messages.OpenWithEclipse_Pref_ContextMentyEntryLabel, // - parent // - )); - } - - @Override - public boolean performOk() { - if (super.performOk()) { - WindowsRegistryHelper.removeOpenWithRegistryEntries(Constants.LAUNCHER_EXE); - if (PluginPreference.isCreateOpenWithRegistration()) { - WindowsRegistryHelper.createOpenWithRegistryEntry(Constants.LAUNCHER_EXE, PluginPreference.getOpenWithContextMenuEntryLabel()); - } - return true; - } - return false; - } - - public PluginPreferencePage() { - super(FieldEditorPreferencePage.GRID); - } - - @Override - public void init(final IWorkbench workbench) { - setPreferenceStore(PluginPreference.STORE); - } -} diff --git a/plugin/src/main/java/de/sebthom/eclipse/open_with_eclipse/prefs/package-info.java b/plugin/src/main/java/de/sebthom/eclipse/open_with_eclipse/prefs/package-info.java deleted file mode 100644 index 9682600..0000000 --- a/plugin/src/main/java/de/sebthom/eclipse/open_with_eclipse/prefs/package-info.java +++ /dev/null @@ -1,12 +0,0 @@ -/* - * Copyright 2021-2022 by Sebastian Thomschke and contributors - * SPDX-License-Identifier: EPL-2.0 - * - * @author Sebastian Thomschke - */ -@NonNullByDefault({ARRAY_CONTENTS, FIELD, PARAMETER, RETURN_TYPE, TYPE_ARGUMENT, TYPE_BOUND, TYPE_PARAMETER}) -package de.sebthom.eclipse.open_with_eclipse.prefs; - -import static org.eclipse.jdt.annotation.DefaultLocation.*; - -import org.eclipse.jdt.annotation.NonNullByDefault; diff --git a/plugin/src/main/resources/images/open_with_eclipse.png b/plugin/src/main/resources/images/open_with_eclipse.png deleted file mode 100644 index 30c9e43..0000000 Binary files a/plugin/src/main/resources/images/open_with_eclipse.png and /dev/null differ diff --git a/plugin/src/main/resources/images/open_with_eclipse@2x.png b/plugin/src/main/resources/images/open_with_eclipse@2x.png deleted file mode 100644 index 720d5de..0000000 Binary files a/plugin/src/main/resources/images/open_with_eclipse@2x.png and /dev/null differ diff --git a/plugins/de.sebthom.eclipse.open_with_eclipse_1.0.0.20260601-1952.jar b/plugins/de.sebthom.eclipse.open_with_eclipse_1.0.0.20260601-1952.jar new file mode 100644 index 0000000..588109c Binary files /dev/null and b/plugins/de.sebthom.eclipse.open_with_eclipse_1.0.0.20260601-1952.jar differ diff --git a/plugins/net.sf.jstuff.core_8.2.0.jar b/plugins/net.sf.jstuff.core_8.2.0.jar new file mode 100644 index 0000000..0da53f6 Binary files /dev/null and b/plugins/net.sf.jstuff.core_8.2.0.jar differ diff --git a/plugins/org.apache.commons.lang3_3.19.0.jar b/plugins/org.apache.commons.lang3_3.19.0.jar new file mode 100644 index 0000000..1ee7e03 Binary files /dev/null and b/plugins/org.apache.commons.lang3_3.19.0.jar differ diff --git a/pom.xml b/pom.xml deleted file mode 100644 index 5132b24..0000000 --- a/pom.xml +++ /dev/null @@ -1,357 +0,0 @@ - - - - - 4.0.0 - - - com.vegardit.maven - vegardit-maven-parent - 8.0.0 - - - de.sebthom.eclipse.open_with_eclipse - de.sebthom.eclipse.open_with_eclipse.parent - 1.0.0-SNAPSHOT - pom - - open-with-eclipse - https://github.com/sebthom/open-with-eclipse-plugin - 2021 - - - Sebastian Thomschke - https://github.com/sebthom - - - - Eclipse Public License 2.0 - repo - https://spdx.org/licenses/EPL-2.0 - - - - - - plugin - feature - updatesite - - - - - - https://github.com/sebthom/open-with-eclipse-plugin - scm:git:https://github.com/sebthom/open-with-eclipse-plugin.git - scm:git:https://github.com/sebthom/open-with-eclipse-plugin.git - HEAD - - - - - github.com - https://github.com/sebthom/open-with-eclipse-plugin/issues - - - - - github.com - https://github.com/sebthom/open-with-eclipse-plugin/actions - - - - - 17 - 5.0.3 - - - true - true - - - - - - com.vegardit.no-npe - no-npe-eea-all - [1.3.9,) - provided - - - - - no-npe-snapshots - https://raw.githubusercontent.com/vegardit/no-npe/mvn-snapshots-repo/ - false - true - - - - - - - - - maven-deploy-plugin - - true - - - - - org.codehaus.gmavenplus - gmavenplus-plugin - - - - commons-codec - commons-codec - 1.19.0 - - - - - - org.eclipse.tycho - tycho-bnd-plugin - ${tycho.version} - - - - org.eclipse.tycho - tycho-compiler-plugin - ${tycho.version} - - true - - -annotationpath - CLASSPATH - - - - true - - - - - org.eclipse.tycho - tycho-ds-plugin - ${tycho.version} - - - - org.eclipse.tycho - tycho-packaging-plugin - ${tycho.version} - - yyyyMMdd-HHmm - - ${project.artifactId}_${unqualifiedVersion}.${buildQualifier} - - - - - org.eclipse.tycho - tycho-p2-plugin - ${tycho.version} - - - - org.eclipse.tycho - tycho-surefire-plugin - ${tycho.version} - - - - org.eclipse.tycho - tycho-versions-plugin - ${tycho.version} - - - org.eclipse.tycho - tycho-p2-director-plugin - ${tycho.version} - - - org.eclipse.tycho - tycho-p2-publisher-plugin - ${tycho.version} - - - org.eclipse.tycho - tycho-p2-repository-plugin - ${tycho.version} - - - - - org.eclipse.m2e - lifecycle-mapping - 1.0.0 - - - - - - org.apache.maven.plugins - maven-clean-plugin - [1.0,) - - clean - - - - - - - - - org.eclipse.tycho - tycho-packaging-plugin - [1.0,) - - build-qualifier-aggregator - validate-id - validate-version - - - - - - - - - org.eclipse.tycho - tycho-compiler-plugin - [1.0,) - - compile - testCompile - - - - - - - - - org.eclipse.tycho - target-platform-configuration - [1.0,) - - target-platform - - - - - - - - - - - - - - - - org.eclipse.tycho - tycho-maven-plugin - ${tycho.version} - true - - - - org.eclipse.tycho - target-platform-configuration - ${tycho.version} - - ignore - - JavaSE-${jdk.version} - - - ../build.target - - - - linux - gtk - x86_64 - - - macosx - cocoa - x86_64 - - - win32 - win32 - x86_64 - - - - - - org.eclipse.tycho - tycho-source-plugin - ${tycho.version} - - - attach-source - - plugin-source - - - - - - - - - - disable-tycho-packaging-plugin-if-executed-in-eclipse - - - eclipse.application - - - - - - - org.eclipse.tycho - tycho-packaging-plugin - - - default-package-plugin - none - - - - - - - - diff --git a/src/site/img/contextmenu.png b/src/site/img/contextmenu.png deleted file mode 100644 index e3b1abe..0000000 Binary files a/src/site/img/contextmenu.png and /dev/null differ diff --git a/src/site/img/prefs.png b/src/site/img/prefs.png deleted file mode 100644 index d258552..0000000 Binary files a/src/site/img/prefs.png and /dev/null differ diff --git a/updatesite/category.xml b/updatesite/category.xml deleted file mode 100644 index 9db69b6..0000000 --- a/updatesite/category.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/updatesite/pom.xml b/updatesite/pom.xml deleted file mode 100644 index c26c0d2..0000000 --- a/updatesite/pom.xml +++ /dev/null @@ -1,107 +0,0 @@ - - - - - 4.0.0 - - - de.sebthom.eclipse.open_with_eclipse - de.sebthom.eclipse.open_with_eclipse.parent - 1.0.0-SNAPSHOT - - - open-with-eclipse-updatesite - de.sebthom.eclipse.open_with_eclipse.updatesite - eclipse-repository - - - - http://timestamp.digicert.com?alg=sha256 - - - - - - - - - - - - jarsigner.keystore - - - - - - - org.apache.maven.plugins - maven-jarsigner-plugin - 3.1.0 - - - sign - - sign - - prepare-package - - ${jarsigner.timestamp.url} - - - - verify - - verify - - verify - - true - - - - - ${project.build.directory}/repository/ - - features/${project.groupId}* - plugins/${project.groupId}* - - - false - false - - - - org.eclipse.tycho - tycho-p2-repository-plugin - - - - update - - fix-artifacts-metadata - - - - verify - - verify-repository - - - - - - - - -