{"id":19093421,"url":"https://github.com/imagej/example-imagej2-command-kotlin","last_synced_at":"2025-06-30T05:05:14.069Z","repository":{"id":79414060,"uuid":"95097654","full_name":"imagej/example-imagej2-command-kotlin","owner":"imagej","description":"An ImageJ command that mixes Kotlin and Java code","archived":false,"fork":false,"pushed_at":"2024-04-19T09:54:05.000Z","size":124,"stargazers_count":5,"open_issues_count":0,"forks_count":2,"subscribers_count":6,"default_branch":"main","last_synced_at":"2025-06-29T03:10:31.359Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Kotlin","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-2-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/imagej.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-06-22T09:19:50.000Z","updated_at":"2023-10-19T19:54:14.000Z","dependencies_parsed_at":null,"dependency_job_id":"9f375322-1109-4226-ba7f-448767b5637c","html_url":"https://github.com/imagej/example-imagej2-command-kotlin","commit_stats":null,"previous_names":[],"tags_count":0,"template":true,"template_full_name":null,"purl":"pkg:github/imagej/example-imagej2-command-kotlin","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/imagej%2Fexample-imagej2-command-kotlin","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/imagej%2Fexample-imagej2-command-kotlin/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/imagej%2Fexample-imagej2-command-kotlin/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/imagej%2Fexample-imagej2-command-kotlin/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/imagej","download_url":"https://codeload.github.com/imagej/example-imagej2-command-kotlin/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/imagej%2Fexample-imagej2-command-kotlin/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":262714504,"owners_count":23352464,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-09T03:24:36.194Z","updated_at":"2025-06-30T05:05:14.046Z","avatar_url":"https://github.com/imagej.png","language":"Kotlin","funding_links":[],"categories":[],"sub_categories":[],"readme":"This is an example Maven project implementing an ImageJ command in [Kotlin](https://kotlinlang.org).\n\nIt is intended as an ideal starting point to develop new ImageJ commands\nin an IDE of your choice. You can even collaborate with developers using a\ndifferent IDE than you.\n\n* In [Eclipse](http://eclipse.org), for example, it is as simple as\n  _File \u0026#8250; Import... \u0026#8250; Existing Maven Project_.\n\n* In [NetBeans](http://netbeans.org), it is even simpler:\n  _File \u0026#8250; Open Project_.\n\n* The same works in [IntelliJ](http://jetbrains.net).\n\n* If [jEdit](http://jedit.org) is your preferred IDE, you will need the\n  [Maven Plugin](http://plugins.jedit.org/plugins/?MavenPlugin).\n\nDie-hard command-line developers can use Maven directly by calling `mvn`\nin the project root.\n\nHowever you build the project, in the end you will have the `.jar` file\n(called *artifact* in Maven speak) in the `target/` subdirectory.\n\nTo copy the artifact into the correct place, you can call\n`mvn -Dscijava.app.directory=/path/to/ImageJ.app/`.\nThis will not only copy your artifact, but also all the dependencies. Restart\nyour ImageJ or call *Help \u0026#8250; Refresh Menus* to see your plugin in the menus.\n\nDeveloping plugins in an IDE is convenient, especially for debugging. To\nthat end, the plugin contains a `main` method which sets the `plugins.dir`\nsystem property (so that the plugin is added to the Plugins menu), starts\nImageJ, loads an image and runs the plugin. See also\n[this page](https://imagej.net/Debugging#Debugging_plugins_in_an_IDE_.28Netbeans.2C_IntelliJ.2C_Eclipse.2C_etc.29)\nfor information how ImageJ makes it easier to debug in IDEs.\n\nSince this project is intended as a starting point for your own\ndevelopments, it is in the public domain.\n\nHow to use this project as a starting point\n===========================================\n\n1. Visit [this link](https://github.com/imagej/example-imagej2-command-kotlin/generate)\n   to create a new repository in your space using this one as a template.\n\n2. [Clone your new repository](https://help.github.com/en/articles/cloning-a-repository).\n\n3. Edit the `pom.xml` file. Every entry should be pretty self-explanatory.\n   In particular, change\n    1. the *artifactId* (**NOTE**: should contain a '_' character)\n    2. the *groupId*, ideally to a reverse domain name your organization owns\n    3. the *version* (note that you typically want to use a version number\n       ending in *-SNAPSHOT* to mark it as a work in progress rather than a\n       final version)\n    4. the *dependencies* (read how to specify the correct\n       *groupId/artifactId/version* triplet\n       [here](https://imagej.net/Maven#How_to_find_a_dependency.27s_groupId.2FartifactId.2Fversion_.28GAV.29.3F))\n    5. the *developer* information\n    6. the *scm* information\n\n4. Remove the `GaussFiltering.kt` file and add your own `.kt` files\n   to `src/main/kotlin/\u003cpackage\u003e/` (if you need supporting files -- like icons\n   -- in the resulting `.jar` file, put them into `src/main/resources/`)\n\n5. Replace the contents of `README.md` with information about your project.\n\n6. Make your initial\n   [commit](https://help.github.com/en/desktop/contributing-to-projects/committing-and-reviewing-changes-to-your-project) and\n   [push the results](https://help.github.com/en/articles/pushing-commits-to-a-remote-repository)!\n\n### Eclipse: To ensure that Maven copies the plugin to your ImageJ folder\n\n1. Go to _Run Configurations..._\n2. Choose _Maven Build_\n3. Add the following parameter:\n    - name: `scijava.app.directory`\n    - value: `/path/to/ImageJ.app/`\n\nThis ensures that the final `.jar` file will also be copied to your ImageJ\nplugins folder everytime you run the Maven Build\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fimagej%2Fexample-imagej2-command-kotlin","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fimagej%2Fexample-imagej2-command-kotlin","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fimagej%2Fexample-imagej2-command-kotlin/lists"}