From 539a78dba9b831b719c89d904b0f8777f1520eb4 Mon Sep 17 00:00:00 2001 From: Eugen Wissner Date: Wed, 30 Nov 2022 21:19:56 +0100 Subject: Fix last rubocop entity length rule --- .rubocop.yml | 3 +- Rakefile | 1 - lib/dmd_tools.rb | 83 -------------------------------------------------- rakelib/dmd_tools.rake | 83 ++++++++++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 85 insertions(+), 85 deletions(-) delete mode 100644 lib/dmd_tools.rb create mode 100644 rakelib/dmd_tools.rake diff --git a/.rubocop.yml b/.rubocop.yml index 099cb76..02cb8ff 100644 --- a/.rubocop.yml +++ b/.rubocop.yml @@ -37,4 +37,5 @@ Layout/EndAlignment: EnforcedStyleAlignWith: variable Metrics/BlockLength: - Max: 37 + AllowedMethods: + - namespace diff --git a/Rakefile b/Rakefile index eb45a33..aa1be20 100644 --- a/Rakefile +++ b/Rakefile @@ -9,7 +9,6 @@ require 'net/http' require_relative 'config/config' require_relative 'lib/package' require_relative 'lib/download' -require_relative 'lib/dmd_tools' task :dmd, [:version] do |_, arguments| raise 'Version is not specified.' unless arguments.key? :version diff --git a/lib/dmd_tools.rb b/lib/dmd_tools.rb deleted file mode 100644 index 124fbaa..0000000 --- a/lib/dmd_tools.rb +++ /dev/null @@ -1,83 +0,0 @@ -# This Source Code Form is subject to the terms of the Mozilla Public -# License, v. 2.0. If a copy of the MPL was not distributed with this -# file, You can obtain one at https://mozilla.org/MPL/2.0/. - -# frozen_string_literal: true - -require 'rake' -require_relative 'download' - -module SlackBuilder - module DmdTools - extend Rake::FileUtilsExt - - def self.update_dmd(version) - tarball_name = "dmd.#{version}.linux.tar.xz" - - uri = URI "http://downloads.dlang.org/releases/2.x/#{version}/#{tarball_name}" - checksum = download(uri, "slackbuilds/development/dmd/#{tarball_name}") - - package = Package.new 'development/dmd', version: version, - homepage: 'https://dlang.org' - - write_info package, downloads: [Download.new(uri.to_s, checksum.hexdigest)] - - update_slackbuild_version 'development/dmd', package.version - commit 'development/dmd', version - end - - def self.update_tools(version, dub_version, dscanner_version, dcd_version) - checksum = collect_checksums(version, dub_version, dscanner_version, dcd_version) - - package = Package.new 'development/d-tools', - version: version, - homepage: 'https://dlang.org', - requires: ['dmd'] - - write_tools_info package, dub_version, dscanner_version, dcd_version, checksum - update_tools_versions dub_version, dscanner_version, dcd_version - - update_slackbuild_version 'development/d-tools', package.version - commit 'development/d-tools', package.version - end - - private_class_method def self.write_tools_info(package, dub_version, dscanner_version, dcd_version, checksum) - write_info package, - downloads: [ - Download.new(hosted_sources("/d-tools/dub-#{dub_version}.tar.gz"), checksum[:dub]), - Download.new(hosted_sources("/d-tools/tools-#{package.version}.tar.gz"), checksum[:tools]), - Download.new(hosted_sources("/d-tools/D-Scanner-#{dscanner_version}.tar.xz"), checksum[:dscanner]), - Download.new(hosted_sources("/d-tools/DCD-#{dcd_version}.tar.xz"), checksum[:dcd]) - ] - end - - private_class_method def self.collect_checksums(version, dub_version, dscanner_version, dcd_version) - checksum = {} - - uri = URI "https://codeload.github.com/dlang/tools/tar.gz/v#{version}" - checksum[:tools] = download_and_deploy uri, "development/d-tools/tools-#{version}.tar.gz" - - uri = URI "https://codeload.github.com/dlang/dub/tar.gz/v#{dub_version}" - checksum[:dub] = download_and_deploy uri, "development/d-tools/dub-#{dub_version}.tar.gz" - - checksum[:dscanner] = clone 'https://github.com/dlang-community/D-Scanner.git', - "development/d-tools/D-Scanner-#{dscanner_version}.tar.xz" - checksum[:dcd] = clone 'https://github.com/dlang-community/DCD.git', - "development/d-tools/DCD-#{dcd_version}.tar.xz" - - checksum - end - - private_class_method def self.update_tools_versions(dub_version, dscanner_version, dcd_version) - slackbuild_filename = 'slackbuilds/development/d-tools/d-tools.SlackBuild' - slackbuild_contents = File.read(slackbuild_filename) - .gsub(/^DUB_VERSION=\${DUB_VERSION:-.+/, - "DUB_VERSION=${DUB_VERSION:-#{dub_version}}") - .gsub(/^DSCANNER_VERSION=\${DSCANNER_VERSION:-.+/, - "DSCANNER_VERSION=${DSCANNER_VERSION:-#{dscanner_version}}") - .gsub(/^DCD_VERSION=\${DCD_VERSION:-.+/, - "DCD_VERSION=${DCD_VERSION:-#{dcd_version}}") - File.open(slackbuild_filename, 'w') { |file| file.puts slackbuild_contents } - end - end -end diff --git a/rakelib/dmd_tools.rake b/rakelib/dmd_tools.rake new file mode 100644 index 0000000..3d98063 --- /dev/null +++ b/rakelib/dmd_tools.rake @@ -0,0 +1,83 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at https://mozilla.org/MPL/2.0/. + +# frozen_string_literal: true + +require 'rake' +require_relative '../lib/download' + +module SlackBuilder + module DmdTools + extend Rake::FileUtilsExt + + def self.update_dmd(version) + tarball_name = "dmd.#{version}.linux.tar.xz" + + uri = URI "http://downloads.dlang.org/releases/2.x/#{version}/#{tarball_name}" + checksum = download(uri, "slackbuilds/development/dmd/#{tarball_name}") + + package = Package.new 'development/dmd', version: version, + homepage: 'https://dlang.org' + + write_info package, downloads: [Download.new(uri.to_s, checksum.hexdigest)] + + update_slackbuild_version 'development/dmd', package.version + commit 'development/dmd', version + end + + def self.update_tools(version, dub_version, dscanner_version, dcd_version) + checksum = collect_checksums(version, dub_version, dscanner_version, dcd_version) + + package = Package.new 'development/d-tools', + version: version, + homepage: 'https://dlang.org', + requires: ['dmd'] + + write_tools_info package, dub_version, dscanner_version, dcd_version, checksum + update_tools_versions dub_version, dscanner_version, dcd_version + + update_slackbuild_version 'development/d-tools', package.version + commit 'development/d-tools', package.version + end + + private_class_method def self.write_tools_info(package, dub_version, dscanner_version, dcd_version, checksum) + write_info package, + downloads: [ + Download.new(hosted_sources("/d-tools/dub-#{dub_version}.tar.gz"), checksum[:dub]), + Download.new(hosted_sources("/d-tools/tools-#{package.version}.tar.gz"), checksum[:tools]), + Download.new(hosted_sources("/d-tools/D-Scanner-#{dscanner_version}.tar.xz"), checksum[:dscanner]), + Download.new(hosted_sources("/d-tools/DCD-#{dcd_version}.tar.xz"), checksum[:dcd]) + ] + end + + private_class_method def self.collect_checksums(version, dub_version, dscanner_version, dcd_version) + checksum = {} + + uri = URI "https://codeload.github.com/dlang/tools/tar.gz/v#{version}" + checksum[:tools] = download_and_deploy uri, "development/d-tools/tools-#{version}.tar.gz" + + uri = URI "https://codeload.github.com/dlang/dub/tar.gz/v#{dub_version}" + checksum[:dub] = download_and_deploy uri, "development/d-tools/dub-#{dub_version}.tar.gz" + + checksum[:dscanner] = clone 'https://github.com/dlang-community/D-Scanner.git', + "development/d-tools/D-Scanner-#{dscanner_version}.tar.xz" + checksum[:dcd] = clone 'https://github.com/dlang-community/DCD.git', + "development/d-tools/DCD-#{dcd_version}.tar.xz" + + checksum + end + + private_class_method def self.update_tools_versions(dub_version, dscanner_version, dcd_version) + slackbuild_filename = 'slackbuilds/development/d-tools/d-tools.SlackBuild' + slackbuild_contents = File.read(slackbuild_filename) + .gsub(/^DUB_VERSION=\${DUB_VERSION:-.+/, + "DUB_VERSION=${DUB_VERSION:-#{dub_version}}") + .gsub(/^DSCANNER_VERSION=\${DSCANNER_VERSION:-.+/, + "DSCANNER_VERSION=${DSCANNER_VERSION:-#{dscanner_version}}") + .gsub(/^DCD_VERSION=\${DCD_VERSION:-.+/, + "DCD_VERSION=${DCD_VERSION:-#{dcd_version}}") + File.open(slackbuild_filename, 'w') { |file| file.puts slackbuild_contents } + end + end +end -- cgit v1.2.3