Skip to content

Releases: CodesAway/BEXCodeCompare

v0.5.0

03 Aug 01:19
a45f0a5
Compare
Choose a tag to compare

Added

  • Structured source matching (adopted some syntax from https://comby.dev)
    • This will be used in a future release to help with refactoring
    • Some syntax comes from Comby, other is new syntax (such as RegEx support)
    • There is no guarantee that Comby and BECR will behave the same with the same syntax

Classes and Interfaces

  • BECRRange

  • IntRange (interface)

  • BECRString

  • BECRTextState

  • BECRStateOption (enum)

  • BECRPattern

  • BECRPatternFlag (enum)

  • BECRMatcher

  • BECRMatchResult (interface)

  • BECRUtilities

  • BECRMatchingUtilities

  • ASTNodeUtilities

  • BECRGroupMatchSetting (package private)

  • BECRState (package private)

  • ParsingUtilities.getParser

Methods

  • IntPair.toIntBEXPair

  • MutableIntBEXPair

    • set
    • setLeft
    • setRight
  • BEXUtilities

    • isBetween
    • getSubstring
    • getSubSequence

Changed

  • Made some classes final
  • Moved method ParsingUtilities.not to BEXUtilities
  • Renamed package info.codesaway.becr.examples to info.codesaway.becr.comparedirectories

v0.4.0

18 Jul 23:06
248628b
Compare
Choose a tag to compare

Added

  • BEXPair helper methods

    • mirror- returns a new BEXPair with the sides swapped (#29)
    • Various test methods which test one side then the mirror
      • testLeftMirror
      • testRightMirror
      • testLeftRightMirror
      • testRightLeftMirror
  • BEXSides.BEX_SIDES - BEXPair containing LEFT / RIGHT; this is used to help reduce some of the redundant code in the BEX library

  • IntPair method toBEXPair

  • CompareDirectories settings

    • substitutionGroups - allows specifying the order which substitutions are applied (#25)
    • excludeLCSMinSubstitution (#25)
    • shouldCheckPath (#24)
  • CompareDirectoriesOption enum

    • EXCLUDE_DEFAULT_SUBSTITUTIONS
    • Other options can be added over time as they are requested and implemented
  • DiffEdit has additional constructors

  • BEXPairs utility class with static methods

  • BEXUtilities helper methods

  • ParsingUtilities.createASTs method

  • TestUtilities to help simplify common tests

Changed

  • Renamed class BEXPair to BEXPairValue

  • Renamed interface BEXPairCore to BEXPair

  • This follow's Java's naming convention where the Interface name is short and used in most places (for parameters and return values), such as List. Whereas, the Class name is more descriptive, such as ArrayList

  • SubstitutionType method accept now uses BEXPair instead of passing left / right values separately (#28)

    • This allows easily getting the normalized text
    • BEXPair normalizedText = checkPair.map(normalizedTexts::get);
    • Used new mirror methods to reduce the repeated code
  • Rename RefactorEnchanedForLoop to EnhancedForLoopRefactoring (#27)

  • Changed method from(final Function<BEXSide, T> function) instead of constructor for BEXPairValue (Java compiler was complaining about ambiguity in certain cases)

  • DiffHelper

    • Several methods now return void instead of List, since the return value wasn't needed
    • Lots of cleanup and refactoring (#30)
  • Refactoring of names to make more consistent

Fixed

  • CompareDirectoriesVisitor detects enum constants (#31)

v0.3.0

13 Jul 11:59
e8213ad
Compare
Choose a tag to compare

Added

  • BEX Library adds some useful Pair classes to handle left / right pairs which are the same type

    • This helped simplify lots of the compare code, since there was code that did stuff on the left side and the same stuff on the right side; now, by using these BEX Pair classes, it simplified the code the remove the redundancy
    • Some cool Java 8 stuff is made available
    • package: info.codesaway.bex
    • BEXListPair
    • BEXMapPair
    • BEXPair (renamed from LeftRightPair)
    • BEXPairCore (interface with lots of useful default methods)
    • BEXSide (renamed from DiffSide)
    • IntBEXPair (renamed from IntLeftRightPair)
    • IntPair (interface with a default method)
    • MutableIntBEXPair (renamed from MutableIntLeftRightPair)
  • DiffUnit gets some useful default methods added to the interface

  • Eclipse plugin has option to ignore comments when doing a compare

  • Eclipse plugin has option to show both sides of substitution in BEX view

  • First release of BECR, pronounced Beccer; BECR is Be Enhanced Code Refactoring

    • This will contain utilities to help refactor code
    • Included is an example CompareDirectories which compares two directories and creates an Excel report of the differences
      • For non-Java files, does a normal compare
      • For Java files, shows changes per method / field

Changed

  • Made classes final
  • Renamed DiffType.getTag() to DiffType.getSymbol()

Fixed

  • Some odd behavior related to 3-way compares with repository (#22)

0.2.0

05 Jul 01:32
e8df472
Compare
Choose a tag to compare

Added

  • Refactoring for enhanced for loop recognizes changing from iterator for loop to enhanced for loop

Changed

  • Eclipse plugin has better handling of ignoring blank lines when ignoring whitespace in the compare
  • Enhanced the compare of the existing refactorings

Fixed

  • Eclipse plugin compare editor scrolling issues (think got them, but if not file a new issue and attach code files, before and after, where you see the issue) #2

Removed

  • Eclipse plugin no longer matches moved lines (Eclipse didn't handle these changes well)

0.1.3

25 Jun 12:05
f8ba162
Compare
Choose a tag to compare

Added

  • Improved scrolling in compare window (still wonky, but much better than before)
  • Recognize semicolon removal as a non-important change (there's a save action to remove redundant semicolons) (Closes #3)

0.1.2

24 Jun 13:00
94aa938
Compare
Choose a tag to compare
  • Pressing enter in BEX Code Compare view jumps to code in compare window (still wonky, but much better than before)
  • Enhanced the compare with better handling of common refactorings

Closed #4