How is the bin package of confluent platform / kafka built? - confluent-platform

I see that the tarball present in http://packages.confluent.io/archive/5.1/confluent-5.1.0-2.11.tar.gz
contains dependency jars arranged in different folder structure ,with dependent jar files distributed according to categories in share/java/ folder
However , when i clone the git of confluent kafka v_5.1 and build the project , all the dependent jar files are present in lib/ folder instead .
Is this because of a different gradle definition ? where can i obtain the gradle file for publishing http://packages.confluent.io/archive/5.1/confluent-5.1.0-2.11.tar.gz
?

Kafka is built with Gradle.
Confluent primarily builds with Maven, and the build scripts are located on private Jenkins servers, with most of the build artifacts uploaded to S3.
The bin/ package for individual projects is just copied as-is (which can be done with some Gradle copy task), or sometimes using the maven-assembly-plugin, (as shown here with the Schema Registry)
The lib/ & share/java folders are done similarly, and could be done with a maven-dependency-plugin
After each individual repo is done, it mostly is up to shell-scripts to move around the folders and re-package everything.

Related

Gradle dependencies to download a single file from github repository

Need some help with writing the gradle dependices to download a single file from github repository
We have a scenario where we need to download .yaml file from the github repository so that we can use it further to autogenerarte it . How do I download a single file form github report via gradle
The best option, if you have freedom to change the source project, is for the yaml to be built, versioned and published to a repository. Eg packed inside a zip/jar in nexus. You could then get the zip/jar in Gradle similar to any other dependency then unpack the yaml file.
Failing that there's a couple of options with github
Download via http (see download plugin)
Get using git (see gradle-git plugin)

Jenkins Plugin for AWS CodeDeploy not deploying all files in workspace

I have a freestyle project (mostly JavaScript and HTML/CSS files) in Jenkins that uses Windows PowerShell to build it specifically using npm commands. It creates a build folder and builds the project as expected with all files. Now in my Workspace on Jenkins that is pulling from a Bitbucket repo I have a number folders and files. In my other projects where I use my Jenkins Plugin for AWS CodeDeploy post build action all my files in my Workspace were deployed. For some reason when this project is deployed to my EC2 instance only my first four folders in the Workspace are being deployed and my two important folders that I need other than my build folder, src and service, are not. I have tried messing with the "Include Files" parameter in the plugin setup but nothing has been successful. Below is a screenshot of the plugin setup:
Please any help is appreciated as this has been an issue for days now, thank you.

Newlines being added to Bamboo artifacts used in deployment project

I've just set up a project's deployment to our stage server. I have a powershell script on the remote server that is copying files from the bamboo artifacts to a specific folder on that same server. The folder they are being copied to uses TortoiseSVN as it's source control. Once the files are copied over all of my .js,.css,.html files are showing up as being modified in TortoiseSVN when only a couple have truly been modified. Using diff on some of the files the only difference between the new files and the previous is that newlines are being added to the end of every file.
My main question is if Bamboo modifies some project's files during the artifact building process or if there is another explanation for why these files are showing up as being modified.
Edit: As a side note, I deployed a different project to the same server using the same script and no newlines were present in any of the files. This project was smaller in size than the first project mentioned.

Combining Gradle with Ivy and sources for eclipse

We use Gradle to build our projects and to manage our dependencies. We want to reuse our legacy Ivy repository which is filesystem based. Our convention was to have several artifacts per module - one of them being a source artifact.
The normal jars are perfectly managed by the Gradle Eclipse integration. But we are not shown the source artifacts. Are there any conventions for this kind of setting, e.g. name of the source artifacts?
artifactName-sources.jar should work, as should defining a configuration named sources (and assigning sources artifacts to that configuration) in the iyy.xml.

can you deploy data and no assemblies via a nuget package?

is it possible to use nuget to deploy test data instead of dlls?
we have some largish test data files which I don't want to keep in our git repository and I am wondering if we could deploy these to the test projects during the build by including them in a nuget package which gets installed during the build.
Is this possible?
Yes, but, without knowing a few more details about how your project is structured, it's difficult to tell you exactly how you would do this.
If you just want to copy your data files into a directory in your test project, you can just put the files in a content folder in a NuGet package, and it will copy them to your project automatically, much in the same way that it would copy DLLs. If this is all you need, you can create a package like this in a few minutes.
If you need to deploy the test data files to a directory outside of your project directory, or manipulate the file names or contents, you can do this as well. I usually create a tools package to do this.
I put the files I want to copy into a tools directory in my package, and then create a simple init.ps1 or install.ps1 script to do whatever copying and file manipulation tasks are required.
If you are intimidated by the prospect of creating packages from scratch, you may find NuGet Package Explorer helpful. You can create a content folder and drag the content you want to deploy into it:
http://npe.codeplex.com/