BigKeeper/big-keeper

View on GitHub

Showing 109 of 109 total issues

Method feature_and_hotfix_command has a Cognitive Complexity of 71 (exceeds 5 allowed). Consider refactoring.
Open

def self.feature_and_hotfix_command(type)
desc "Gitflow #{GitflowType.name(type)} operations"
command GitflowType.command(type) do |c|
c.desc "Start a new #{GitflowType.name(type)} with name for given modules and main project"
c.command :start do |start|
Severity: Minor
Found in lib/big_keeper/command/feature&hotfix.rb - About 1 day to fix

Method spec_dependece_library has a Cognitive Complexity of 68 (exceeds 5 allowed). Consider refactoring.
Open

def spec_dependece_library(library_keywords_hash)
if library_keywords_hash.include?(@name)
library_keywords_hash.delete(@name)
end
 
 
Severity: Minor
Found in lib/big_keeper/model/library_model.rb - About 1 day to fix

Method release_command has a Cognitive Complexity of 44 (exceeds 5 allowed). Consider refactoring.
Open

def self.release_command
desc 'Gitflow release operations'
command :release do |c|
 
c.desc 'release project start'
Severity: Minor
Found in lib/big_keeper/command/release.rb - About 6 hrs to fix

Method feature_and_hotfix_command has 130 lines of code (exceeds 25 allowed). Consider refactoring.
Open

def self.feature_and_hotfix_command(type)
desc "Gitflow #{GitflowType.name(type)} operations"
command GitflowType.command(type) do |c|
c.desc "Start a new #{GitflowType.name(type)} with name for given modules and main project"
c.command :start do |start|
Severity: Major
Found in lib/big_keeper/command/feature&hotfix.rb - About 5 hrs to fix

    Class BigkeeperParser has 31 methods (exceeds 20 allowed). Consider refactoring.
    Open

    class BigkeeperParser
    @@config = {}
    @@current_user = ''
     
    def self.parse(bigkeeper)
    Severity: Minor
    Found in lib/big_keeper/util/bigkeeper_parser.rb - About 3 hrs to fix

      Method to_json has a Cognitive Complexity of 24 (exceeds 5 allowed). Consider refactoring.
      Open

      def self.to_json(home_branches, module_info_list, version)
      json_array = []
      print_all = version == "all versions"
      home_branches = home_branches.uniq
      home_branches.each do | home_branch_name |
      Severity: Minor
      Found in lib/big_keeper/util/list_generator.rb - About 3 hrs to fix

      Consider simplifying this complex logical expression.
      Open

      if !(((next_char<='z'&&next_char>='a')||(next_char<='Z'&&next_char>='A')||(next_char<='9'&&next_char>='0')||next_char=='_')||((last_char<='z'&&last_char>='a')||(last_char<='Z'&&last_char>='A')||(last_char<='9'&&last_char>='0')||last_char=='_'))
      if keyword.include?(".h") && line.include?("import") && line.include?("/"+keyword+">")
      dependence_library_name = line[line.index("<")+1...line.index("/"+keyword+">")]
      if dependence_library_name == library_name
      tip = " [file]:"+File.basename(file_path)+" [line]: "+line.strip+" [keyword]: "+keyword
      Severity: Critical
      Found in lib/big_keeper/model/library_model.rb - About 3 hrs to fix

        File gradle_file_operator.rb has 303 lines of code (exceeds 250 allowed). Consider refactoring.
        Open

        require 'big_keeper/util/logger'
        require 'big_keeper/util/gradle_content_generator'
         
        module BigKeeper
        class GradleFileOperator
        Severity: Minor
        Found in lib/big_keeper/util/gradle_file_operator.rb - About 3 hrs to fix

          Method release_command has 79 lines of code (exceeds 25 allowed). Consider refactoring.
          Open

          def self.release_command
          desc 'Gitflow release operations'
          command :release do |c|
           
          c.desc 'release project start'
          Severity: Major
          Found in lib/big_keeper/command/release.rb - About 3 hrs to fix

            Method get_all_public_file has a Cognitive Complexity of 22 (exceeds 5 allowed). Consider refactoring.
            Open

            def get_all_public_file(path)
            all_header = FileOperator.find_all_header_file("#{path}/Pods/#{@name}")
            for file_path in all_header do
            @header_file_list[@header_file_list.size] = file_path
            file_name = File.basename(file_path)
            Severity: Minor
            Found in lib/big_keeper/model/library_model.rb - About 3 hrs to fix

            Method to_tree has a Cognitive Complexity of 21 (exceeds 5 allowed). Consider refactoring.
            Open

            def self.to_tree(module_branches_dic, branches_name, version)
            home_name = BigkeeperParser.home_name
            print_all = version == "all versions"
            branches_name.each do | home_branch_name |
            next unless home_branch_name.include?(version) || print_all
            Severity: Minor
            Found in lib/big_keeper/util/list_generator.rb - About 2 hrs to fix

            Method update_module_version_name has a Cognitive Complexity of 21 (exceeds 5 allowed). Consider refactoring.
            Open

            def update_module_version_name(build_file, version_name)
            temp_file = Tempfile.new('.build.gradle.tmp')
            isModifyPom = false
            isBigkeeperScript = false
            isBigkeeperBackupScript = false
            Severity: Minor
            Found in lib/big_keeper/util/gradle_file_operator.rb - About 2 hrs to fix

            Similar blocks of code found in 2 locations. Consider refactoring.
            Open

            def self.release_start(path, version, user, modules)
            BigkeeperParser.parse("#{path}/Bigkeeper")
            version = BigkeeperParser.version if version == 'Version in Bigkeeper file'
            modules = release_check_changed_modules(path, user) if (modules.nil? || modules.empty?)
             
             
            Severity: Major
            Found in lib/big_keeper/command/release/start.rb and 1 other location - About 2 hrs to fix
            lib/big_keeper/command/release/finish.rb on lines 2..34

            Similar blocks of code found in 2 locations. Consider refactoring.
            Open

            def self.release_finish(path, version, user, modules)
            BigkeeperParser.parse("#{path}/Bigkeeper")
            version = BigkeeperParser.version if version == 'Version in Bigkeeper file'
            modules = release_check_changed_modules(path, user) if (modules.nil? || modules.empty?)
             
             
            Severity: Major
            Found in lib/big_keeper/command/release/finish.rb and 1 other location - About 2 hrs to fix
            lib/big_keeper/command/release/start.rb on lines 2..36

            Class GitOperator has 24 methods (exceeds 20 allowed). Consider refactoring.
            Open

            class GitOperator
            def current_branch(path)
            Dir.chdir(path) do
            `git rev-parse --abbrev-ref HEAD`.chop
            end
            Severity: Minor
            Found in lib/big_keeper/util/git_operator.rb - About 2 hrs to fix

              Method spec_dependece_library has 53 lines of code (exceeds 25 allowed). Consider refactoring.
              Open

              def spec_dependece_library(library_keywords_hash)
              if library_keywords_hash.include?(@name)
              library_keywords_hash.delete(@name)
              end
               
               
              Severity: Major
              Found in lib/big_keeper/model/library_model.rb - About 2 hrs to fix

                Method spec_command has 53 lines of code (exceeds 25 allowed). Consider refactoring.
                Open

                def self.spec_command
                desc 'Spec operations'
                 
                command :spec do |spec|
                spec.switch [:a,:all]
                Severity: Major
                Found in lib/big_keeper/command/spec.rb - About 2 hrs to fix

                  Method verify_home_branch has a Cognitive Complexity of 16 (exceeds 5 allowed). Consider refactoring.
                  Open

                  def verify_home_branch(path, branch_name, type)
                  Logger.highlight('Sync local branchs from remote, waiting...')
                  git = GitOperator.new
                   
                  git.fetch(path)
                  Severity: Minor
                  Found in lib/big_keeper/service/git_service.rb - About 2 hrs to fix

                  Similar blocks of code found in 2 locations. Consider refactoring.
                  Open

                  def release_start(path, user, modules, module_name, version)
                  module_full_path = BigkeeperParser.module_full_path(path, user, module_name)
                   
                  git = GitOperator.new
                  if !File.exist? module_full_path
                  Severity: Major
                  Found in lib/big_keeper/service/module_service.rb and 1 other location - About 2 hrs to fix
                  lib/big_keeper/service/module_service.rb on lines 196..219

                  Similar blocks of code found in 2 locations. Consider refactoring.
                  Open

                  def release_finish(path, user, modules, module_name, version)
                  module_full_path = BigkeeperParser.module_full_path(path, user, module_name)
                   
                  git = GitOperator.new
                  if !File.exist? module_full_path
                  Severity: Major
                  Found in lib/big_keeper/service/module_service.rb and 1 other location - About 2 hrs to fix
                  lib/big_keeper/service/module_service.rb on lines 170..193
                  Severity
                  Category
                  Status
                  Source
                  Language