Repository: ambari Updated Branches: refs/heads/trunk fb25e19f6 -> b9f794d47
AMBARI-11706: Remove gzip tool dependency on Windows (jluniya) Project: http://git-wip-us.apache.org/repos/asf/ambari/repo Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/b9f794d4 Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/b9f794d4 Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/b9f794d4 Branch: refs/heads/trunk Commit: b9f794d4763f2f9a992ae403e63fe0eb76297832 Parents: fb25e19 Author: Jayush Luniya <jlun...@hortonworks.com> Authored: Thu Jun 4 16:16:52 2015 -0700 Committer: Jayush Luniya <jlun...@hortonworks.com> Committed: Thu Jun 4 16:16:52 2015 -0700 ---------------------------------------------------------------------- ambari-web/gzip-content.cmd | 17 +++++++++ ambari-web/gzip-content.ps1 | 81 ++++++++++++++++++++++++++++++++++++++++ ambari-web/pom.xml | 2 +- 3 files changed, 99 insertions(+), 1 deletion(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ambari/blob/b9f794d4/ambari-web/gzip-content.cmd ---------------------------------------------------------------------- diff --git a/ambari-web/gzip-content.cmd b/ambari-web/gzip-content.cmd new file mode 100644 index 0000000..aa50571 --- /dev/null +++ b/ambari-web/gzip-content.cmd @@ -0,0 +1,17 @@ +@echo off +rem Licensed to the Apache Software Foundation (ASF) under one or more +rem contributor license agreements. See the NOTICE file distributed with +rem this work for additional information regarding copyright ownership. +rem The ASF licenses this file to You under the Apache License, Version 2.0 +rem (the "License"); you may not use this file except in compliance with +rem the License. You may obtain a copy of the License at +rem +rem http://www.apache.org/licenses/LICENSE-2.0 +rem +rem Unless required by applicable law or agreed to in writing, software +rem distributed under the License is distributed on an "AS IS" BASIS, +rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +rem See the License for the specific language governing permissions and +rem limitations under the License. + +powershell -File gzip-content.ps1 %* < NUL \ No newline at end of file http://git-wip-us.apache.org/repos/asf/ambari/blob/b9f794d4/ambari-web/gzip-content.ps1 ---------------------------------------------------------------------- diff --git a/ambari-web/gzip-content.ps1 b/ambari-web/gzip-content.ps1 new file mode 100644 index 0000000..a6042a1 --- /dev/null +++ b/ambari-web/gzip-content.ps1 @@ -0,0 +1,81 @@ +# +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. +# + +# Stop on all errors +$ErrorActionPreference = 'Stop'; + +Function Gzip-File{ + Param( + $inFile, + $outFile = ($inFile + ".gz"), + $force = $false + ) + if(-not (Test-Path $inFile)) { + Write-Host "$inFile does not exist" + return $false + } + if((Test-Path $outFile)) { + if(-not $force) { + Write-Host "$outFile already exists" + return $true + } else { + Remove-Item $outFile + } + } + $inputStream = New-Object System.IO.FileStream $inFile, ([IO.FileMode]::Open), ([IO.FileAccess]::Read), ([IO.FileShare]::Read) + $outputStream = New-Object System.IO.FileStream $outFile, ([IO.FileMode]::Create), ([IO.FileAccess]::Write), ([IO.FileShare]::None) + $gzipStream = New-Object System.IO.Compression.GzipStream $outputStream, ([IO.Compression.CompressionMode]::Compress) + + $buffer = New-Object byte[](1024) + while($true){ + $read = $inputStream.Read($buffer, 0, 1024) + if ($read -le 0){break} + $gzipStream.Write($buffer, 0, $read) + } + $gzipStream.Close() + $outputStream.Close() + $inputStream.Close() + Remove-Item $inFile + return $true +} + +$errorFound = $false +$files = @() +$force = $false +ForEach ($arg in $args) { + if($arg -eq "-f" -or $arg -eq "--force") { + $force = $true + continue + } + $files += $arg +} + +ForEach ($file in $files) { + $input = $file + $output = $file + ".gz"; + Write-Host "Running: Gzip-File $input $output $force" + $success = Gzip-File $input $output $force + if(-not $success) { + $errorFound = $true + } +} + +if ($errorFound) { + throw "Failed to gzip all files!" +} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/ambari/blob/b9f794d4/ambari-web/pom.xml ---------------------------------------------------------------------- diff --git a/ambari-web/pom.xml b/ambari-web/pom.xml index aefeff1..b616961 100644 --- a/ambari-web/pom.xml +++ b/ambari-web/pom.xml @@ -272,7 +272,7 @@ <dirsep>\</dirsep> <executable.brunch>cmd</executable.brunch> <args.brunch>/C brunch</args.brunch> - <executable.gzip>gzip</executable.gzip> + <executable.gzip>gzip-content.cmd</executable.gzip> <executable.mkdir>cmd</executable.mkdir> <args.mkdir>/C mkdir</args.mkdir> <executable.npm>cmd</executable.npm>