The easy, powerful, and productive way to develop with OSGi. Based on bnd and Eclipse.
Install now »
Eclipse automatically compiles your Java source code whenever you save — this is “The Eclipse Way”. Bndtools goes one step further and automatically assembles your bundles whenever the inputs to it are changed. As a result, your bundles are always up to date with the latest code, and ready to run!
Unlike PDE that require package dependency information to be maintained manually, Bndtools uses bytecode analysis to accurately calculate the dependencies of your OSGi bundles, automatically handling (semantic) versions. Additionally, many OSGi aspects are verified on the fly. With Bndtools, the manifest just works.
Bndtools has extensive support for the OSGi Declarative Services, Manifest, and Metatype annotations. Not only does it automatically build the required XML, it also provides excellent direct feedback when the annotations are used in the wrong way.
Bndtools adds a number of additional decorators and visualizers to Eclipse that are optimized for OSGi. For example, a package shows if it is included and if it is exported. A class is marked if it is an OSGi Component. A special JAR editor provides detailed information into bundles and normal JARS, both graphically and textual. A bnd editor provides graphic & source access to the bnd files. The GUI access to start with, the text editor when your build grows. As they always do. A resolution viewer shows for any selected bundle what its capabilities & requirements are. And more important, which class is the referrer.
Unlike PDE, bnd stores all build information declaratively, in easy to read plain Java property files called bnd files. These property files are put in an inheritance chain so that there is always one place to define shared information, preventing redundancy. A very powerful macro processor can combine and filter properties so that bug inciting redundancy is further reduced. Hundreds of built-in functions provide very detailed access to the bnd build model, the output JARs, the repositories, environment variables, and can even call system commands.
第一波5G手机扎堆发布!但今年上市毫无意义 | 5G手机将 ...:2021-3-3 · 原标题:首批5G手机2021上半年开始上市,但真正的竞争2021年上半年开始一年一度的MWC已经开展,5G无疑是MWC2021的主题。无论是芯片、5G设备供应商,还是运营商和移动终端厂商都争相展示自家最新的5G进展。5G手机的集中发布众及MWC上随处可见的 ...
Bndtools uses the OSGi Resolver to create runtime assemblies, allowing us to concentrate on just the "top-level" bundles that comprise our application. The remaining bundles are resolved from the repositories automatically. No more wasting time trying the right combination by trying.
The instant builder will keep all artifacts build at all times. When you launch an application from Bndtools, it will extend this dynamism to the launched runtime. Any bundle that changes in Eclipse, will be updated in the runtime dynamically. This gives Bndtools a very light weight feeling while still providing all the software engineering from Java.
Besides standard JUnit, Bndtools incorporates an integrated test runner for OSGi that launches an OSGi framework containing an automatic assembly of bundles, executes the test cases declared in those bundles, and shuts down OSGi. The whole process takes mere milliseconds and results are reported in the standard Eclipse JUnit view.
最新翻译的官方 PyTorch 简易入门教程:2021-1-10 · “PyTorch深度学习:60分钟快速入门”为PyTorch官网教程,网上已经有部分翻译作品,随着PyTorch1.0版本的公布,这个教程有较大的伕码改动,本人对教程进行重新翻译,并测试运行了官方伕码,制作成JupyterNotebook文件(中文注释)在github予众公布。(黄海
Releases can happen manually from the IDE or better, they can be automated in the CI build.
Bndtools has a unique feature, not found in any other IDE, that it compares your API code continuously with a previous release according to semantic version rules. The moment you make a change that would not be compatible with the package version, you get an error on both the version and the violating code. For example, if you add a method to an interface, that is in an API package, you immediately see this method marked red.
Every Bndtools workspace automatically includes a Gradle based continuous integration (CI) build. Since the gradle build uses the bnd information, there is no need to learn gradle. The CI build will create identical artifacts at, for example, Github Actions. The CI can release to Maven repositories, create p2 repositories, or anything else you need.
Bndtools uses the bnd workspace concept. Although Bndtools fanatically tries to follow the Eclipse paradigm, always built all artifacts, it wen out of its way to make this fast enough to supports hundreds of projects in a workspace, some companies even have up to a thousand projects in a workspace. To help navigating these workspace, the Bndtools explorer provide a very lightway to quickly filter the projects by name or status. Having all projects for a product a single workspace does wonders for productivity and product quality, experience shows.
Bndtools is a plugin/bundle for Eclipse. This means we inherit all the wonderful tooling from Eclipse. Bndtools goes out of its way to integrate deeply, supporting many extension points. Intellij is supported with the OSMORC plugin, maintained by IDEA.
Bndtools is Open Source Software, distributed under the terms of the Eclipse Public Licence.