Export extensions individually

Hey, so I just finished my extension and want to export it. But I don't just want to run ant extensions and export them all. Is there a way to export only a specific extension? Thanks for the help.

If you put the extensions in different packages, they are bundled per package. Alternatively, what we do is keep a separate branch for each extension so that they can all live in the same repo while allowing us to focus PRs toward a specific extension.

1 Like

Thank you, but the problem is that I have multiple projects like com.xtendera.extension1 and com.xtendera.extension2. I just want to export one of the packages for example the example one package. How do you do that?

You can't build just one subset of the sources. Extensions are built by compiling all of components/src and then partitioning the output into separate extensions based on package name. If com.xtendera.extension1 is one package and com.xtendera.extension2 is a second package, then ant extensions will yield components/build/extensions/com.xtendera.extension1.aix and components/build/extensions/com.xtendera.extension2.aix.

If extension1 and extension2 are classes in com.xtendera (which I wouldn't recommend), then you can pass -Dextensions.packagefqcn=true to the ant extensions command to build an extension per class. This is a legacy option that's there because extensions originally could only ever contain a single component and this is kept for backward compatibility. Ideally you should structure your extensions to make use of the newer format, which allows you to bundle related components into a single extension.


Okay. Sorry for the trouble.

It's no trouble for me. It makes me think that we should probably update the extensions document to include some best practices.

1 Like