public static boolean hasAnyChanges() { return !getAllNewOrUpdatedClasses().isEmpty() || !getAllDeletedClasses().isEmpty(); } }
public static boolean hasAnyChanges() { return !getAllNewOrUpdatedClasses().isEmpty() || !getAllDeletedClasses().isEmpty(); } }
@Override protected boolean isCacheValid() { // This ensures the logged total build time of factories is reset even if // the BootstrapperImpl is not regenerated. FactoryGenerator.resetTotalTime(); Collection<MetaClass> newOrUpdated = MetaClassFactory.getAllNewOrUpdatedClasses(); // filter out generated IOC environment config if (newOrUpdated.size() == 1) { MetaClass clazz = newOrUpdated.iterator().next(); if (clazz.isAssignableTo(IOCEnvironment.class)) { newOrUpdated.clear(); } } boolean hasAnyChanges = !newOrUpdated.isEmpty() || !MetaClassFactory.getAllDeletedClasses().isEmpty(); return hasGenerationCache() && (EnvUtil.isProdMode() || !hasAnyChanges); }
private boolean hasRelevantChanges() { final String generatorName = this.getClass().getSimpleName(); final Set<String> relevantClasses = cacheRelevantClasses.get(this.getClass()); if (relevantClasses == null) { log.debug("No classes marked as relevant for {}. Assuming there are relevant changes.", generatorName); return true; } for (final MetaClass clazz : MetaClassFactory.getAllNewOrUpdatedClasses()) { final boolean previouslyMarkedRelevant = relevantClasses.contains(clazz.getFullyQualifiedName()); if (previouslyMarkedRelevant || isRelevantClass(clazz)) { log.debug("New or updated class {} is {} cache relevant for {}.", clazz.getFullyQualifiedName(), (previouslyMarkedRelevant ? "previously marked as" : "now marked as"), generatorName); return true; } else { log.trace("New or updated class {} is not cache relevant for {}.", clazz.getFullyQualifiedName(), generatorName); } } for (final String deleted : MetaClassFactory.getAllDeletedClasses()) { if (relevantClasses.contains(deleted)) { log.debug("Deleted class {} was cache relevant for {}.", deleted, generatorName); return true; } else { log.trace("Deleted class {} is not cache relevant for {}.", deleted, generatorName); } } return false; }
private boolean hasRelevantChanges() { final String generatorName = this.getClass().getSimpleName(); final Set<String> relevantClasses = cacheRelevantClasses.get(this.getClass()); if (relevantClasses == null) { log.debug("No classes marked as relevant for {}. Assuming there are relevant changes.", generatorName); return true; } for (final MetaClass clazz : MetaClassFactory.getAllNewOrUpdatedClasses()) { final boolean previouslyMarkedRelevant = relevantClasses.contains(clazz.getFullyQualifiedName()); if (previouslyMarkedRelevant || isRelevantClass(clazz)) { log.debug("New or updated class {} is {} cache relevant for {}.", clazz.getFullyQualifiedName(), (previouslyMarkedRelevant ? "previously marked as" : "now marked as"), generatorName); return true; } else { log.trace("New or updated class {} is not cache relevant for {}.", clazz.getFullyQualifiedName(), generatorName); } } for (final String deleted : MetaClassFactory.getAllDeletedClasses()) { if (relevantClasses.contains(deleted)) { log.debug("Deleted class {} was cache relevant for {}.", deleted, generatorName); return true; } else { log.trace("Deleted class {} is not cache relevant for {}.", deleted, generatorName); } } return false; }