59 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Nix
		
	
	
	
	
	
			
		
		
	
	
			59 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Nix
		
	
	
	
	
	
| {
 | |
|   lib,
 | |
|   stdenv,
 | |
|   buildGoModule,
 | |
|   buildPackages,
 | |
|   fetchFromGitHub,
 | |
|   installShellFiles,
 | |
| }:
 | |
| 
 | |
| buildGoModule rec {
 | |
|   pname = "jcli";
 | |
|   version = "0.0.47";
 | |
| 
 | |
|   src = fetchFromGitHub {
 | |
|     owner = "jenkins-zh";
 | |
|     repo = "jenkins-cli";
 | |
|     tag = "v${version}";
 | |
|     hash = "sha256-HsuYTgGe0cDRAG5FP77CGJG+xCDSWjBthPeAclmqd44=";
 | |
|   };
 | |
| 
 | |
|   vendorHash = "sha256-Ld59i91k1tyR9BhlRohHiRPB8Zt3rQWMtRw+J+13TFw=";
 | |
| 
 | |
|   ldflags = [
 | |
|     "-s"
 | |
|     "-w"
 | |
|     "-X github.com/linuxsuren/cobra-extension/version.version=${version}"
 | |
|   ];
 | |
| 
 | |
|   doCheck = false;
 | |
| 
 | |
|   nativeBuildInputs = [ installShellFiles ];
 | |
| 
 | |
|   postInstall =
 | |
|     let
 | |
|       jcliBin =
 | |
|         if stdenv.buildPlatform.canExecute stdenv.hostPlatform then
 | |
|           "$out"
 | |
|         else
 | |
|           lib.getBin buildPackages.jcli;
 | |
|     in
 | |
|     ''
 | |
|       mv $out/bin/{jenkins-cli,jcli}
 | |
| 
 | |
|       installShellCompletion --cmd jcli \
 | |
|         --bash <(${jcliBin}/bin/jcli completion --type bash) \
 | |
|         --fish <(${jcliBin}/bin/jcli completion --type fish) \
 | |
|         --zsh <(${jcliBin}/bin/jcli completion --type zsh)
 | |
|     '';
 | |
| 
 | |
|   meta = {
 | |
|     description = "Jenkins CLI allows you to manage your Jenkins in an easy way";
 | |
|     mainProgram = "jcli";
 | |
|     homepage = "https://github.com/jenkins-zh/jenkins-cli";
 | |
|     changelog = "https://github.com/jenkins-zh/jenkins-cli/releases/tag/v${version}";
 | |
|     license = lib.licenses.mit;
 | |
|     maintainers = with lib.maintainers; [ sikmir ];
 | |
|   };
 | |
| }
 | 
